0

私は基本的な問題に直面しており、おそらくそれを解決するために新鮮な目が必要です。

私は正常に動作する基本的な認証システムを持っています。ユーザーがログイン フォームの [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 が常に設定されていることです...何が欠けていますか?

ご協力いただきありがとうございます

乾杯

4

1 に答える 1