Rails 大佬帮忙看下 小弟初学 rails 使用 gem devise 报错

dhyl · 2018年04月26日 · 最后由 dhyl 回复于 2018年04月27日 · 1390 次阅读

为什么我 WelcomeController 写的是 authenticate_admin_user!一直提示 authenticate_user!未定义?

你的用户模型如果叫 AdminUser 那么对应的就是 authenticate_admin_user

贴下你的 routes.rb application_controller.rb

@jasl 我的用户模型叫 user 但是 devise 是放在 admin 目录下的

dhyl 回复

如果用户模型是 user 的话,就使用 authenticate_user!,在你的 user 模型下引入

devise :database_authenticatable, :registerable,
        :recoverable, :rememberable, :trackable, :validatable

@rails_taotao user 模型下有引入你说的那些,我不知道 namespace admin 是否对 devise 的 authenticate_user!方法有影响。因为错误提示了 authenticate_admin_user

dhyl 回复

你的 Admin::BaseController 里面有 before_action :authenticate_user!, 程序进来会先跑 authenticate_user! 这个方法,而你的 controller 里面没有这个方法,所以会报错。

lithium4010 回复

感谢大佬提醒,是我太粗心了

dhyl 关闭了讨论。 04月27日 10:47
需要 登录 后方可回复, 如果你还没有账号请 注册新账号