# JS not recognized in link\_to\_remote respond\_to?

**URL:** <https://www.ruby-forum.com/t/js-not-recognized-in-link-to-remote-respond-to/185195>\
**Category:** Rails\
**Created:** [March 15, 2010, 9:46pm UTC](https://www.ruby-forum.com/t/js-not-recognized-in-link-to-remote-respond-to/185195 "2010-03-15T21:46:49Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sav](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/65b543/32.png) [@Sav](https://www.ruby-forum.com/u/Sav)\
**Post date:** [March 15, 2010, 9:46pm UTC](https://www.ruby-forum.com/t/js-not-recognized-in-link-to-remote-respond-to/185195/1 "2010-03-15T21:46:49Z")

</div>

In my view I have this test…

\<%= link\_to\_remote(‘AJAX Alert’, :url =\> ‘/sandbox/submit’, :success  
=\> ‘alert(request.responseText)’) %\>

In my controller, this works and outputs “AJAX Response”…

def submit  
render :layout =\> false  
end

But if I add the respond\_to block, the format.js never gets  
recognized…

def submit  
respond\_to do |format|  
format.js {  
render :layout =\> false  
}  
format.any(:html, :mobi, :touch) {  
# render normal layout  
}  
end  
end

---

<div class="post-metadata">

**Author:** ![Sav](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/65b543/32.png) [@Sav](https://www.ruby-forum.com/u/Sav)\
**Post date:** [March 15, 2010, 10:13pm UTC](https://www.ruby-forum.com/t/js-not-recognized-in-link-to-remote-respond-to/185195/2 "2010-03-15T22:13:09Z")

</div>

On 15 March 2010 20:45, Sav [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> }
> 
> ```
> 
> end  
> end

I am a bit outside my comfort zone here, but should that be :url =\>  
‘/sandbox/submit.js’ above if you want to specify format.js in  
respond\_to

Colin

---

<div class="post-metadata">

**Author:** ![Sav](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/65b543/32.png) [@Sav](https://www.ruby-forum.com/u/Sav)\
**Post date:** [March 15, 2010, 10:37pm UTC](https://www.ruby-forum.com/t/js-not-recognized-in-link-to-remote-respond-to/185195/3 "2010-03-15T22:37:44Z")

</div>

Ahha! That works, and I found my problem was due to my  
application\_controller’s before\_filter…

before\_filter :detect\_request

def detect\_request  
if request.subdomains.first == ‘iphone’  
request.format = :iphone  
end  
end

I have to change my respond to use format.any(:js, :touch)

Thanks!

---

<div class="post-metadata">

**Author:** ![Sav](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/65b543/32.png) [@Sav](https://www.ruby-forum.com/u/Sav)\
**Post date:** [March 15, 2010, 11:05pm UTC](https://www.ruby-forum.com/t/js-not-recognized-in-link-to-remote-respond-to/185195/4 "2010-03-15T23:05:14Z")

</div>

Got it!

headers[“Content-Type”] = “text/javascript”  
render :action =\> ‘submit.js.rjs’

Whew.

---

<div class="post-metadata">

**Author:** ![Sav](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/65b543/32.png) [@Sav](https://www.ruby-forum.com/u/Sav)\
**Post date:** [March 15, 2010, 10:59pm UTC](https://www.ruby-forum.com/t/js-not-recognized-in-link-to-remote-respond-to/185195/5 "2010-03-15T22:59:58Z")

</div>

Shit, this is exactly the same problem but it went unsolved…  
[http://www.ruby-forum.com/topic/183367#806585](http://www.ruby-forum.com/topic/183367#806585)

RJS seems to be a problem when setting up iphone mime-types…

Mime::Type.register\_alias “text/html”, :iphone
