Redirect to_back

I am seeing some more differences between 1.2.x and 2.3.2 and they just
baffle me.

def some_method
if params[:report][:salesmancode].to_s == ‘’ || !
params[:report][:periodno]
flash[:message] = “You forgot to select an employee or pick a time
period”
redirect_to :back
else
blah, blah
end
render :layout => false
end

and I get a message about not being able to render/direct to more than 1
time. Why doesn’t ‘redirect_to :back’ simply end processing and redirect
the user? Is there some better way of doing this now?

Craig


This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

On Wed, 2009-07-29 at 16:49 -0500, Greg D. wrote:

redirect_to :back

return false


that worked…doesn’t show my flash message so obviously something
changed with flash. I thought it came from session but I can’t find it
in the API.

Craig


This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

On Wed, Jul 29, 2009 at 4:48 PM, Craig W.[email protected]
wrote:

I am seeing some more differences between 1.2.x and 2.3.2 and they just
baffle me.

def some_method
if params[:report][:salesmancode].to_s == ‘’ || !
params[:report][:periodno]
flash[:message] = “You forgot to select an employee or pick a time
period”
redirect_to :back

return false

else
blah, blah
end
render :layout => false
end

and I get a message about not being able to render/direct to more than 1
time. Why doesn’t ‘redirect_to :back’ simply end processing and redirect
the user? Is there some better way of doing this now?


Greg D.
http://destiney.com/

Hi Craig,

On Wed, 2009-07-29 at 14:48 -0700, Craig W. wrote:

blah, blah

render :layout => false

end
end

and I get a message about not being able to render/direct to more than 1
time. Why doesn’t ‘redirect_to :back’ simply end processing and redirect
the user? Is there some better way of doing this now?

It is a little confusing but the short answer is don’t count on render
and redirect statements executing immediately. The best fix here is to
put your render :layout => false inside your else clause. That way
there’s no possibility of rendering twice.

HTH,
Bill