-2

奇妙な定義: 私のアプリのセッション モデルは正常に動作しているようです。Cookie (user.remember_token = SecureRandom.urlsafe_base64) が保存され、サインインが持続します。人生は素晴らしい。

ただし、ユーザーがプロファイルを編集して [送信] をクリックすると、ログアウトされます。

This SO Questionは、XSRF が原因で Rails がセッションを終了していると思わせます。

しかし、なぜ?

すべてのコードをここに投稿する代わりに、1 つのリンクですべてを取得できます: https://github.com/chiperific/arcwmi_reports

ヘルプ!

4

1 に答える 1

1

あなたの問題はUserモデルにあります:

before_save :create_remember_token

def create_remember_token
  self.remember_token = SecureRandom.urlsafe_base64
end

これにより、ユーザーが保存されるたびに、つまり、ユーザーが作成または更新されたときに、remember_token が変更されます。また、ユーザーがプロファイルを更新すると、remember_token が変更されます。これにより、ログイン システムは Cookie がユーザーと一致しなくなったことを認識し、ユーザーをログアウトさせます。

修正 - のbefore_create代わりに使用しbefore_saveます。

于 2013-01-09T03:50:30.907 に答える