私は基本的な問題に直面しており、おそらくそれを解決するために新鮮な目が必要です。
私は正常に動作する基本的な認証システムを持っています。ユーザーがログイン フォームの [Remember me] チェック ボックスをオンにした場合にのみ永続的な Cookie を設定し、[Remember me] チェック ボックスがオフの場合は一時 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
終わり
セッションヘルパーは
module SessionsHelper
def sign_in(user)
self.current_user = user
end
問題は、チェックボックスがチェックされていないにもかかわらず、永続的な Cookie が常に設定されていることです...何が欠けていますか?
ご協力いただきありがとうございます
乾杯