申し込みをDevise管理者に制限しようとしています。可能であれば、今CanCanの使用を避けたいと思います。オプション#1に記載されている別のDevise Adminモデルを作成しました:https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-Role。Deviseを使用してサインアップを管理者に制限する方法
次に、ここで説明するようにユーザー用のCRUDインターフェイスを設定します。https://github.com/plataformatec/devise/wiki/How-To:-Manage-users-through-a-CRUD-interface
私は、ユーザーコントローラでbefore_filter :authenticate_admin!
のようなものを使用して新しいサインアップを制限したいと考えていますが、何らかの理由で新しいサインアップを制限していません。
私のroutes.rbを、次のようになります。
devise_for :admins
devise_for :users, :path_prefix => 'd'
resources :admins
resources :users, :controller => "users"
すべてのアイデアは、なぜbefore_filter :authenticate_admin!
が新しいサインアップを制限されていませんか?
管理者ロールを追加するときに 'before_filter:authenticate_admin!'を使用できるはずです。これは現在、私のためにユーザーインデックスとショーアクション(ユーザーを管理者として管理する)で働いています。なぜそれが作成アクションで動作していないのか分かりません。削除したくない:管理者がユーザーを追加できるようにするために登録可能。 – Scott
こんにちはScott、新しい 'create'アクションを定義する必要はありません。あなたがdeviseのソースコードを見れば、 'app/controllers/devise/registrations_controller.rb'にあるdeviseはあなたのためにすべてのことをしています、それらのアクションの他に' authenticate_scope! 'は' authenticate_admin! 'あなたの場合は、追加され、** edit edit update update **のためにのみ動作します**これら3つのアクション。本当に 'authenticate_admin!'フィルタを追加してアクションを作成したいのであれば、 'Devise :: RegistrationsController'から継承し、' prepend_before_filter:authenticate_scope !::except => [:cancel] 'を追加することができます。 – Tomato
私はこれがdeviseを使うだけでは複雑すぎると判断したので、私はCanCanを追加しました。助けてくれてありがとう。 – Scott