I found from the log that I was getting the following error:
ActionController::DoubleRenderError (Can only render or redirect once
per action):
And it seems that it was caused by the fact that I didn't realize that
the code flow continues in the action after the redirect.
So what I didn't show in the first message was that my action was
actually more like:
def foo
if @failed
redirect_to :action => :index # I thought the code
flow would cease here if failed
end
blah blah
redirect_to :action => :somewhere_else # but actually it
continues and picks up this second redirect also
end
I didn't realize that the code flow continues in the
action after the redirect.
...
def foo
if @failed
redirect_to :action => :index # I thought the code
flow would cease here if failed
end
blah blah
redirect_to :action => :somewhere_else # but actually it
continues and picks up this second redirect also
end
To get it to cease where you thought it would, I believe you can add 'and
return' to your redirect. Alternatively... yep, if you don't put the 'blah
blah..redirect_to" in an 'else' clause, it'll raise an error.