2013-07-30 9 views
5

愚かな質問を申し訳ありませんが、正確には何のスコープですか?私が問題に遭遇するのは、私のコントローラにsign_outメソッドを追加したいのですが、config.sign_out_all_scopesがデフォルトでtrueに設定されているので、それを行うことはできません。したがってfalseに変更すると助けになりますが、 configは実際に行います。それは真実であるように見えます。それはすべてadmin:またはall:ユーザーにサインアウトしてサインアウトしますが、それは私には意味がありません。 「範囲」は実際にユーザーですか?このオプションを切り替えると、正確には何が変わりますか? ありがとうございます。究極のスコープは何ですか?

答えて

4

Deviseでは、ユーザーを「管理者」や「メンバー」などの異なる「スコープ」に分けることができます。その効果は、各スコープのルート、コントローラー、ビューのセットを取得することです。

ユーザは複数のスコープに所属していつでも任意の/すべてにサインインできます。オプションsign_out_all_scopesがtrueの場合、スコープとしてサインアウトすると、現在スコープでサインインしているすべてのユーザがサインアウトします。

あなたの特定の質問について - 自分のサインアウトメソッドを定義する理由は何ですか? Deviseがあなたに1つを提供します。サインアウト方法を変更したい場合は、デバイスコントローラを正しく拡張するためにthe instructionsに従ってください。

+0

私がやりたかったのは、リダイレクトの前に人をサインアウトするコントローラのsign_outメソッドを追加するためのものを追加することです。デフォルトを使用します。 sign_out:user#sign_out(scope) sign_out @user #sign_out(resource) "引数の数が正しくない" –

関連する問題