2016-10-18 11 views
0

私はRails 5アプリの認証にClearanceを使用しています。重要な(ユーザーに)重要なユーザーデータを保存するにはどうすればよいでしょうか?今はClearance::SessionsControllerをオーバーライドしてセッションに保存していますが、ユーザーがアプリに戻り、セッションがremember_tokenから構築されることに心配しています。クリアランスクッキーに余分なデータを追加しますか?

セッション全体で永続性を維持するためにクッキーに追加してください。それとも、Clearanceのクッキーに保存する方法はありますか?さらに、クリアランスがremember_tokenからセッションを構築するときに必要なデータをセッションに追加する方法はありますか?

+0

基本的に私の質問は、これがSignInGuardを適切に使用しているかどうかにまで至ります。 – dhagerty

+0

あなたが話している重要な情報の種類は不明です。 'current_user'からアクセスするのではなく、セッションから取得する必要がある理由は、コントローラとビューのヘルパーとしてあなたを与えてくれるのでしょうか? –

+0

関連するレコードに関連付けられたレコードのIDを格納していますが、ビューでは 'current_user.associated_record.another_record'を呼び出すのではなく、だから私はレコードのインスタンス変数を設定できるようにセッションでIDを保持しています。私は 'current_user'にたくさんのメソッドを連鎖させないようにしようとしています。 – dhagerty

答えて

0

Clearance::SessionsControllerを調べた後、私はredirect_signed_in_usersメソッドがbefore_action/before_filterとして使用されていることに気付きました。私は、このメソッドをオーバーライドして、必要なIDを追加しました。#createメソッドと同様です。私はそれがまさに私が必要としていたものなので、それをすぐに気付かないのはやや恥ずかしい気がします。

関連する問題