繁体   English   中英

Ruby on Rails登录后重定向

[英]Ruby on rails redirect upon login

我正在关注http://ruby.railstutorial.org上的教程

当用户访问受限页面时提示输入登录信息,然后登录后重定向回受限页面时,我已经设法做到了。

但是,登录后,我已经注销并与另一个用户登录,我将被重定向回该页面,而不是重定向到默认会话的默认主页。

我的会话控制器

class SessionsController < ApplicationController

def new

end

def create
  user = User.find_by_email(params[:session][:email])
if user && user.authenticate(params[:session][:password])
   sign_in user
   redirect_back_or user
  # Sign the user in and redirect to the user's show page.
else
  # Create an error message and re-render the signin form.
  flash.now[:error] = 'Invalid email/password combination'
    render 'new'
end
end
....
end

我的会话助手

module SessionsHelper
....
def redirect_back_or(default)
  redirect_to(session[:return_to] || default)
  session.delete(:return_to)
end

def store_location
  session[:return_to] = request.fullpath
end

end

添加session.delete(:return_to)创建方法

def create
  user = User.find_by_email(params[:session][:email])
  if user && user.authenticate(params[:session][:password])
    sign_in user
    session.delete(:return_to)
    redirect_back_or user
    # Sign the user in and redirect to the user's show page.
  else
    # Create an error message and re-render the signin form.
    flash.now[:error] = 'Invalid email/password combination'
    render 'new'
  end
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM