活动管理员身份验证与用户身份验证冲突

2023-11-24

活跃管理员是一个用于在应用程序中拥有管理仪表板的 gem。它使用 Devise 来登录用户并创建一个单独的admin_user管理员的模型。我的应用程序已经使用了 devise 并将其用户作为user模型。自从我开始使用 active admin gem 以来,在我的路由文件中,即使我的用户已登录,以下行也会不断解析为 home#index 而不是 users#dashboard 。这在以前可以正常工作,其中登录的用户被带到用户#dashboard 作为根 url。

root :to => 'users#dashboard', :constraints => lambda {|r| r.env["warden"].authenticate? }
root :to => 'home#index'

正在发生的事情是.authenticate?正在检查admin_user(属于活动管理员)是否已登录但不是我的usermodel 这是我需要检查的,所以当我登录到活动管理界面时,我的站点根目录变为 users#dashboard 而无需检查是否user是否已登录。我怎样才能使.authenticate?检查user正在登录和未登录admin_user ?

任何帮助或线索将非常感激


我能够解决这个问题。该问题与 Devise 期望应用程序中使用单个用户模型有关。以下是修复方法。

In the config/initializers/devise.rb文件,添加:

config.scoped_views = true

and

config.default_scope = :user #or whichever is your regular default user model

就是这样,典狱长检查 :user 是否已登录,而不是 :admin_user

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

活动管理员身份验证与用户身份验证冲突 的相关文章

随机推荐