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