3

activeadmin を更新した後、管理パネルにアクセスできません。管理ユーザーは admin_users というテーブルに保存されています。

      NoMethodError in Admin::DashboardController#index

      undefined method `authenticate_admin_user!' for #Admin::DashboardController:0x007fe46c3d99d0
      Rails.root: /Users/jianbo/Documents/Aptana Studio 3 Workspace/iv

      Application Trace | Framework Trace | Full Trace
      activeadmin (0.6.2) lib/active_admin/base_controller.rb:40:in authenticate_active_admin_user'
      activesupport (3.2.15) lib/active_support/callbacks.rb:474:inblock in run_3994836635519503653__process_action__2211030722258422070__callbacks'
      activesupport (3.2.15) lib/active_support/callbacks.rb:215:in `block in conditionalcallback_around_863'
4

1 に答える 1

3

ActiveAdmin 構成の一部として、認証を必要とし、ユーザーが管理者であるかどうか (したがって、ActiveAdmin ページにアクセスできるかどうか) を判別するメソッドを ApplicationController で定義する必要があります。このメソッドの名前は、ActiveAdmin イニシャライザの次の設定で制御できます。

config.authentication_method = :authenticate_admin_user!

このメソッドのデフォルト名は、authenticate_admin_user! です。

ユーザーを認証し、管理者であることを確認する方法が既にある場合は、その方法を使用するように構成を更新するだけです。それ以外の場合は、ApplicationController でこのメソッドを作成する必要があります

于 2013-10-30T06:47:23.157 に答える