Ingo Weiss
2006-May-10 19:16 UTC
[Rails] Redirect whole page from AJAX action that updates a div
Hi, I am calling an action via AJAX to update a div. The action needs to redirect the page in under certain circumstances. However, if I just use "redirect_to" in the action then of course what happens is that the page I want to redirect to replaces only the div, not the entire page, and I get messy nested layouts. Is there a way around this? Can I redirect the entire document from an action that is called via AJAX to update a div? Thanks for any help! Ingo Weiss -- Posted via http://www.ruby-forum.com/.
Matt Bauer
2006-May-10 19:45 UTC
[Rails] Re: Redirect whole page from AJAX action that updates a div
I''m assuming you''re using link_to_remote in which case you need to pass into that method a callback javascript function. Take a look at http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html#M000412. You probably need to do something like the following: link_to_remote ''My Link, :url => { :action => "action" }, 404 => "alert(''Not found...? Wrong URL...?'')", :failure => "window.location = request" then when a redirect (302) is sent the failure handler will be hit. You probably want more error and bounds checking though. I''m pretty sure this is clost to right and would write more but I need to run. -Matt Bauer -- Posted via http://www.ruby-forum.com/.
Bryan Duxbury
2006-May-10 22:10 UTC
[Rails] Re: Redirect whole page from AJAX action that updates a div
You can also conditionally render an .rhtml file that contains a script block something like: <script> document.location.href = "..."; </script> PrototypeHelper will by default try to evaluate scripts in returned blocks. -- Posted via http://www.ruby-forum.com/.