I want to be redirected to the current page, after having logged in. I
searched google and only saw ways to do this using certain plugins like
devise.
Isn''t there a simple Way to implement this path?
I start out with
def store_location
session[:return_to] = request.fullpath
end
and I think the only thing left is passing this path to my redirect_ to
code Line in the Sessions Controller, but "redirect_to store_location"
won''t work.
If only Plugins will help, can I use Devise without deleting or
recreating my current User Model?
--
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 unsubscribe from this group and stop receiving emails from it, send an email
to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/groups/opt_out.
On Sat, Feb 16, 2013 at 8:52 AM, Ryo Saeba <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> I want to be redirected to the current page, after having logged in. I > searched google and only saw ways to do this using certain plugins like > devise. > > Isn''t there a simple Way to implement this path? > > I start out with > > def store_location > session[:return_to] = request.fullpath > end > > and I think the only thing left is passing this path to my redirect_ to > code Line in the Sessions Controller, but "redirect_to store_location" > won''t work.This isn''t doing what you think. You may want to set up something more akin to accessors: def store_location=(location) session[:return_to] = location end def store_location session[:return_to] end Then call the first method when you want to save the return page, and the second when you want to retrieve it. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.
Thanks. But I think the application still needs something more.
I defined those methods in my application_controller and added to my
"requuire login Method"
def require_login
unless user_signed_in?
redirect_to store_location=(request.fullpath)
redirect_to login_path,
alert: "Erst anmelden bitte!"
end
end
and added to my create method in the sessionscontroller:
def create
user = User.find_by_username(params[:username])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
#redirect_to startscreen_path,
redirect_to store_location,
notice: "logged in"
When I now want to retrieve a page, that has the befor_filter "require
login"
I get the Error Message.
AbstractController::DoubleRenderError in GamesController#new
Render and/or redirect were called multiple times in this action. Please
note that you may only call render OR redirect, and at most once per
action. Also note that neither redirect nor render terminate execution
of the action, so if you want to exit an action after redirecting, you
need to do something like "redirect_to(...) and return".
When logging in directly (without filters), I get the Error Message
ActionController::ActionControllerError in SessionsController#create
Cannot redirect to nil!
--
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 unsubscribe from this group and stop receiving emails from it, send an email
to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/groups/opt_out.