In my controller code, depending on the values in the database, I may want my user to go one of several places. But when I put more than one redirect in, it gives me the message: Render and/or redirect were called multiple times in this action. How do I do this? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Nov 29, 2008, at 1:51 PM, Joe Smith wrote:> > In my controller code, depending on the values in the database, I may > want my user to go one of several places. But when I put more than > one > redirect in, it gives me the message: > > Render and/or redirect were called multiple times in this action. > > How do I do this? > --redirect_to(some_place) and return Alternatively, store the desired destination URL and redirect once at the end of the method. stored_location = nil # ... stored_location = ''fall_down_go_boom_url'' if some_criteria # ... redirect_to stored_location unless stored_location.nil? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi, Maybe s.ross''s explanation is enough, but just in case, I had to deal with the same problem a while back and this might be useful... redirect_to doesn''t stop the rest of the code in your method/action from keeping executing so if you use it and then later on in your code there is another render/redirect_to like, for example, as a default action after an if/select then there is your problem. The solution is to use return right after you redirect_to line: redirect_to return # here the code leaves the method/action I hope this helps. Pepe On Nov 29, 4:58 pm, "s.ross" <cwdi...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On Nov 29, 2008, at 1:51 PM, Joe Smith wrote: > > > > > In my controller code, depending on the values in the database, I may > > want my user to go one of several places. But when I put more than > > one > > redirect in, it gives me the message: > > > Render and/or redirect were called multiple times in this action. > > > How do I do this? > > -- > > redirect_to(some_place) and return > > Alternatively, store the desired destination URL and redirect once at > the end of the method. > > stored_location = nil > # ... > stored_location = ''fall_down_go_boom_url'' if some_criteria > # ... > redirect_to stored_location unless stored_location.nil?--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---