在Railstutorial.org之后,我在登录页面中放置了一个Remember me
框,以便仅在选中此框时强制会话不会过期。但是,使用以下代码,即使我不检查def create
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
log_in user
params[:session][:remember_me] == '1' ? remember(user) : forget(user)
redirect_to user
else
flash.now[:danger] = 'Invalid email/password combination'
render 'new'
end
end
框,在我关闭浏览器时,会话也不会过期。问题在哪里?
1) the compilation phase and,
2) the linking phase.
答案 0 :(得分:0)
在某些时候,您可以将会话设置为remember(user)
并且不会forget
吗?
尝试在Rails控制台中为您使用的用户手动调用forget方法:
>> user = User.find_by(email: "example@railstutorial.org")
>> user.forget