私は認証にdeviseを使用しており、アプリケーションではcancanを許可しています。アプリケーションは正常に動作しました。しかし今、私はdeviseとcancanで使用されている、すでに自分のアプリケーションに入っているすべてのユーザーを管理するためにアクティブな管理者を使いたいと思っていました。アクティブな管理者は、ユーザー用に独自のadmin_usersテーブルを作成します。どのように私はactive_adminが以前使用されていたユーザーと役割の表を使用するようにできますか?あなたの助けを借りて高すぎる。アクティブな管理者は、すでにdeviseとcancanによって使用されているusersテーブルを使用する方法を教えてください。
3
A
答えて
7
:ユーザー・クラスの名前を変更するには、単に最後の引数としてクラスを渡しますこの表の
実行:
rails generate active_admin:install --skip-users
し、実行することを忘れないでください:
bundle exec rake db:migrate
config/initializers/active_admin.rb
ファイルの認証方法を変更しようとすること。また、current_admin_user
メソッドが作成されていることを確認してください。そうでない場合は、deviseのデフォルト(current_user
メソッド)に変更するだけで済みます。
ログアウトリンクで使用されるhttpメソッドを:delete
に変更する必要があります。
config.logout_link_method = :delete
そして、ログアウトアクションへのルートパス。より優れた認証方式を理解するために
config.logout_link_path = :destroy_user_session_path
、私は私のapp/controllers/application_controller.rb
関連するコードを貼り付けています:
class ApplicationController < ActionController::Base
protect_from_forgery
#
# redirect registered users to a profile page
# of to the admin dashboard if the user is an administrator
#
def after_sign_in_path_for(resource)
resource.role == 'admin' ? admin_dashboard_path : user_path(resource)
end
def authenticate_admin_user!
raise SecurityError unless current_user.try(:role) == 'admin'
end
rescue_from SecurityError do |exception|
redirect_to root_path
end
end
はそれが多分他の誰かがあなたを助け、願っています。
4
デフォルトでは、AdminUserという新しいDeviseユーザー/モデルが作成されます。あなたは既に作成users
テーブルを持っているので、あなたが作成をスキップする必要がある場合
rails generate active_admin:install User
http://activeadmin.info/docs/0-installation.html
http://activeadmin.info/docs/1-general-configuration.html#authentication
0
activeadminコマンドを既に実行している場合.... admin_userを初期化のactive_admin.rbのユーザに変更し、cancan能力モデルのadminの能力を定義することで既存のユーザテーブルを使用できます。 DSLを許可する権限を許可するように
関連する問題
- 1. Deviseを使用して、管理者とユーザーに異なる設定オプションを与える方法を教えてください。
- 2. cancanを使用してrolifyを追加して作成する方法を教えてください。
- 3. シューズに既にインストールされている宝石を使用する方法を教えてください。
- 4. RubyでPsychにインラインモードを使用する方法を教えてください。
- 5. djangoに使用するdbテンプレートを教えてください
- 6. XPathにUTF8を使用させる方法を教えてください。
- 7. EclipseにNetBeansキーバインディングを使用させる方法を教えてください。
- 8. F#Reflectionライブラリの使用方法を教えてください。
- 9. jqm.page.params.jsプラグインの使用方法を教えてください。
- 10. Microsoft VSTOインターフェイスの使用方法を教えてください。
- 11. Android GPUの使用方法を教えてください。
- 12. org.mockito.AdditionalMatchers.gtの使用方法を教えてください。
- 13. chrome.tabs.onUpdated.addListenerの使用方法を教えてください。
- 14. SVNを効果的に使用する方法を教えてください。
- 15. 正しいDateTimeを使用する方法を教えてください。
- 16. NSWindowを常にアクティブ/フォーカスにする方法を教えてください。
- 17. Django管理者に表形式でモデルを追加する方法を教えてください。
- 18. PHPでarray_padの使用法を教えてください。
- 19. IEquatableを使用するようにHashSetを教えてください?
- 20. Backbone.jsの使い方について教えてください。
- 21. Chart.jsとBootstrapを同時に使用する方法を教えてください。 (さまざまなjQueryバージョン)
- 22. Laravel ProjectにすべてのルートでHTTPSを使用させる方法を教えてください。
- 23. VS.NetのオートコンプリートにXHTMLではなくHTMLを使用していることを教えてください。
- 24. MayaVi2をwxではなくQtにデフォルト/使用する方法を教えてください。
- 25. Deviseを使用してサインアップを管理者に制限する方法
- 26. JSONKitをIPhone用に使用してJSONブールをデコードする方法を教えてください
- 27. Azureクラウドサービスを使用している顧客に請求する方法を教えてください。
- 28. Xcodeで「アプリ内購入コンテンツ」テンプレートを使用する方法とその理由を教えてください。
- 29. Swingアプリケーションに触れる方法を教えてください。
- 30. CSSクラスが適用されない理由を教えてください。次