我想要一个添加操作' destroy' if / else比用户没有被记录,他重定向到登录页面,但我做错了。
def destroy
if user.sign_in
sign_out
redirect_to root_url
else
redirect_to signin_path
end
end
helper 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
如何解决? 抱歉我的英文不好
答案 0 :(得分:0)
在destroy方法中,您调用user.sign_in
,但在您的帮助程序中,您必须使用以下定义sign_in(user)
:
user.sign_in
在类User上创建方法
OR:
sign_in(user)
将用户作为参数传递给实际定义的方法。
<强> EDITED 强>
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