This question might be a long shot, but I’m going to ask it anyway. In
my application, I’ve created a before_filter that does some magic. It
looks like this:
if request.xhr? then
render :update do |page|
page.redirect_to url_for_thingy
end
else
redirect_to redirect_to url_for_thingy
end
This works perfectly, however, I have one annoyance. On the server side,
I don’t know if the xhr request coming in is from an AjaxUpdater or
AjaxRequest (using prototype here). It’s possible that the browser will
update a DOM element or that it just expects some javascript code. When
an AjaxUpdater is used, the element is updated and the javascript is
executed (so the redirect is done), but it just doesn’t look so nice.
This works perfectly, however, I have one annoyance. On the server side,
I don’t know if the xhr request coming in is from an AjaxUpdater or
AjaxRequest (using prototype here). It’s possible that the browser will
update a DOM element or that it just expects some javascript code. When
an AjaxUpdater is used, the element is updated and the javascript is
executed (so the redirect is done), but it just doesn’t look so nice.
You could look at the Accept header sent by the browser - in the
Ajax.Request case it should be something like application/javascript
Hack prototype to so that one of the two sets an http header of your
choice ?
Fred
Yeah, I was thinking the same thing. Maybe adding an X_HTTP_FOO header
is an nice option… Let’s see if I can do it so that it doesn’t break
when upgrading Rails to a future release.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.