繁体   English   中英

未验证用户身份时如何重定向到登录页面

[英]How redirect to a sign in page when the user is not authenticated

我想要一个添加操作'destroy',如果/没有比用户未登录,他的重定向到登录页面,但是我做错了。

def destroy
    if user.sign_in
    sign_out
    redirect_to root_url
    else
      redirect_to signin_path
    end
  end

帮助器sessions_helper

  def sign_in(user)
    remember_token = User.new_remember_token
    cookies.permanent[:remember_token] = remember_token
    user.update_attribute(:remember_token, User.encrypt(remember_token))
    self.current_user = user
  end

如何解决? 对不起,我的英语不好

在destroy方法中,您调用user.sign_in但是在助手中,您具有以下定义sign_in(user)您必须使用以下方法来解决该问题:

user.sign_in

并在类User上创建一个方法

要么:

sign_in(user)

将用户传递为已定义实际方法的参数。

已编辑

ApplicationController

def sign_in(user)
    remember_token = User.new_remember_token
    cookies.permanent[:remember_token] = remember_token
    user.update_attribute(:remember_token, User.encrypt(remember_token))
    self.current_user = user
 end

end

暂无
暂无

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

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