Hi there,
I have a strange error:
In a controller, I have a…
redirect_to :action => ‘show’
…at the end. But upon code execution, Firebug tells me:
syntax error
(It says that for Line 0)
Does anyone have a clue what this means and where the problem lies?
Just in case:
- I have also tried to use the “loose” version in the HTML code:
But it didn’t change anything.
- redirect_to a different :action works.
Thank you for any help with this!
Tom
On Apr 19, 8:29 pm, Tom Ha [email protected] wrote:
Hi there,
I have a strange error:
In a controller, I have a…
redirect_to :action => ‘show’
…at the end. But upon code execution, Firebug tells me:
Sounds like you redirected to an html page but your stuff on the page
was expecting to get some javascript back (ie you were using
link_to_remote etc… without an :update option)
Fred
Thanks for your (actually super-quick) reply, Fred!
To paraphrase it (correct me if I’m wrong):
Whenever an Ajax request is sent (i.e. using submit_to_remote) the
“rendering part” in the controller can NOT use “redirect_to :action =>
…” or “render :action => …”.
Rendering the response can in this case only be done using:
render :update do |page|
page.replace_html ‘whatever’, :partial => ‘whatever’
end
“redirect_to” and “render” can only be used after “regular” requests.
On 20 Apr 2009, at 20:07, Tom Ha wrote:
render :update do |page|
page.replace_html ‘whatever’, :partial => ‘whatever’
end
“redirect_to” and “render” can only be used after “regular” requests.
It depends on whether link_to_remote, submit_to_remote etc… have
been passed the :update option.
- if they have then they are updating an element on the page and you
need to generating a normal html fragment
- if they are not then they are expecting javascript, so using
render :update and so on is compulsory.
Fred