我面临一个基本问题,可能需要新鲜的眼光来帮助我解决它。
我有一个可以正常工作的基本身份验证系统。现在,我只想在用户选中登录表单上的“记住我”复选框时设置一个永久 cookie,如果没有选中“记住我”复选框,则设置一个临时 cookie(在会话结束时过期)。
我的 SessionsController 是
def create
user = User.find_by_email(params[:session][:email])
if user && user.authenticate(params[:session][:password])
if params[:session][:remember_me]
cookies.permanent[:remember_token] = user.remember_token
else
cookies[:remember_token] = user.remember_token
end
sign_in user
redirect_back_or root_path
else
flash.now[:error] = "Invalid email/password combination"
render 'new'
end
结尾
SessionsHelper 是
module SessionsHelper
def sign_in(user)
self.current_user = user
end
问题是,尽管未选中复选框,但始终设置了永久 cookie……我错过了什么?
谢谢你的帮助
干杯