I am getting confused about the relationship between
respond_to/format.js and an xhr request. Would appreciate any advice,
tips on how this has changed in different Rails versions if it has, etc.

In particular, I am confused as to why an xhr request sometimes will
trigger format.js, even though it's not actually a request to
format=>js, but other times won't. And if I want to take some special
action in response to xhr requests, is it best practice to check
request.xhr?, or to use format.js?

I am adding some unobtrusive JQuery JS of my own (not using the Rails
helpers), which submit to the same controller actions as the ordinary
HTML actions. But when a request is received from an xhr, the controller
should do something different -- for instance, not do a redirect, or
return just a partial instead of the full HTML (the JQuery will grab the
partial and insert it into the page itself).

What is the best practice for having a controller action recognize an
xhr request, and respond differently?  In some sample code on the net, I
see "format.js".  Which confuses me a bit, because the JS code isn't
actually making a .js request, it's still requesting .html -- but
sometimes format.js seems to match it _anyway_, and I don't know why.
Other times it does not. I can not predict it.

Or, I can actually manually test for "if request.xhr" and just "render"
what I want manually if so, if not do the whole respond_to thing. But
that gets a bit odd too.

Are there best practices for this stuff?  For having a controller action
that responds differently to an xhr request from JS than to an ordinary
browser HTML request?  When I google around, people seem all over the
place on this, it seems to have changed a lot in different rails
versions, etc.

Any advice appreciated.

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to