我有一个简单的rails应用程序;它有一个设计认证机制。然后我添加了activeadmin,它带来了基于设计的身份验证机制。
关于合并两个模型还有其他问题和答案。这个问题是关于哪个设置使两个身份验证领域不同。
实施例。我在管理页面中执行登录:
localhost:3000/admin
此处用户模型为AdminUser。
然后我尝试转到常规(非活动管理员)页面:
localhost:3000/documents
此处用户模型为User。
此处,如果我测试current_user
变量,则为nil
,而不是AdminUser
的实例。那就是:两个认证区域(我使用的是单词领域,但我不知道它是否正确)保持不同。
我在activeamdin初始化程序中搜索过,但是我找不到包含创建不同“身份验证领域”信息的设置。
它们并不明显。
如果我测试current_admin_user,它包含和AdminUser实例。
答案 0 :(得分:1)
你有两个模型User和AdminUser与两个独立的数据库表关联,对吗?
您在routes.rb?
中是否有单独的AA和用户模型路由最后,您必须为User < AR::Base
模型设置设计设置(AA用户模型已随activeadmin
gem一起提供)
在这种情况下,通过User和AdminUser模型的身份验证将根据您设置的路线分开,为您提供所需的“领域”..
或者我没有得到问题......
current_admin_user
帮助器为您提供AdminUser
实例
current_mega_super_user
帮助器会为您提供MegaSuperUser
个实例(默认情况下)