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 配置的一部分,您需要在 ApplicationController 上定义一个方法,该方法需要身份验证并确定用户是否是管理员(因此可以访问 ActiveAdmin 页面)。此方法的名称可以通过 ActiveAdmin 初始化程序中的此设置来控制:

config.authentication_method = :authenticate_admin_user!

此方法的默认名称是 authenticate_admin_user!

如果您已经有一种方法可以对用户进行身份验证并确认他们是管理员,只需更新配置以使用该方法。否则,您需要在 ApplicationController 上创建此方法

于 2013-10-30T06:47:23.157 回答