8

Deviseを使用するUserとAdmin(RailsAdminを使用)の2つのモデルがあります。ユーザーとしてサインインしてから、管理者としてサインインします。ただし、そのモデルの1つからサインアウトすると、2つのモデルから同時にサインアウトします。どうすれば修正できますか?助けてください :)

4

2 に答える 2

24

問題は、config/initializers/devise.rbの 1 つの文字列にありました。

  • デフォルト:

    # sign_out の動作を設定します。
    # Sign_out アクションはスコープ指定できます (つまり、/users/sign_out は :user スコープのみに影響します)。
    # デフォルトは true です。これは、ログアウト アクションがすべてのアクティブなスコープからサインアウトすることを意味します。
    # config.sign_out_all_scopes = true

  • 必要:

    config.sign_out_all_scopes = false

于 2012-03-24T07:03:39.640 に答える
0

Devise の適用範囲はアプリケーション全体です。モデルではなく、サイトにサインインします。おそらく、役割の区別を追加したいでしょう。ユーザーは、特定の特権を許可する 1 つ以上の役割を持つ場合があります。Devise は、認証されたユーザーを取得するだけです。「役割ベースの承認」をサポートするCanCanなどの gem を検討してください。

于 2012-03-21T21:38:44.557 に答える