0

Rails 3.2 を使用しており、単一のモデルと役割モデルへの HABTM 関係を使用して、アクティブな管理者と一緒に事前に作成されたデバイスを使用するのに問題があります。

このチュートリアルに従いましたhttp://jaysonlane.net/2012/04/rails-devise-and-active-admin-single-user-model

そして、次のようないくつかのことを変更しました

unless current_user.admin?

為に

unless current_user.roles.first.id==1 #checks if its an admin or not

通常のユーザーでログインし、:300/admin から管理ページにアクセスしようとすると、「許可が拒否されました」というメッセージが表示されますが、これは良いことです。

ただし、管理者アカウントでログインし (管理者として正常にログインします)、:3000/admin に移動すると、次のエラーが表示されます。

NoMethodError in Admin/dashboard#index
undefined method for 'destroy_admin_user_session_path'

それを次のように変更します。

config.logout_link_path = :destroy_current_admin_user_session_path
or
config.logout_link_path = :destroy_current_user_session_path

どちらも役に立ちません。

よろしくお願いいたします。

修繕:

rake routesデフォルトのactive_admin初期化パスとメソッドを実行してルートに変更する必要がありました。

ログアウト時のエラーについてですが、Active admin でサインアウトするためのデフォルトの方法は :get です。そのため、アクティブな管理者で「ログアウト」をクリックするとエラーが発生します。これを修正するには、config->initializers->active_admin.rb に移動して追加します

config.logout_link_method= :delete

これが誰かに役立つことを願っています。

@pjammer と @iain に、私を正しい方向に導いてくれてありがとう。よろしく

4

1 に答える 1

1

rake ルートを実行し、デフォルトの active_admin 初期化パスとメソッドをルートに変更する必要がありました。

ログアウト時のエラーについてですが、Active admin でサインアウトするためのデフォルトの方法は :get です。そのため、アクティブな管理者で「ログアウト」をクリックするとエラーが発生します。これを修正するには、config->initializers->active_admin.rb に移動して追加します

config.logout_link_method= :delete これが誰かの役に立てば幸いです。

@pjammer と @iain に、私を正しい方向に導いてくれてありがとう。よろしく

于 2012-05-02T11:49:51.077 に答える