繁体   English   中英

未定义的方法“authenticate_admin_user!” 访问 activeadmin 时

[英]undefined method `authenticate_admin_user!' when access activeadmin

更新我的 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'

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

config.authentication_method = :authenticate_admin_user!

此方法的默认名称是 authenticate_admin_user!

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

确保您已编写--devise_for:admin_users, ActiveAdmin::Devise.config

所以在我的情况下,我有 -- devise_for:users, ActiveAdmin::Devise.config所以在更新它后遇到了同样的问题,它解决了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM