我有两个设计模型,user
和 admin
, 当 user
和 admin
通过登录表单登录,然后将重定向到 /admin
我已阅读 rails_admin wiki ,但它似乎只是关于单设备模型的配置,我可以定义多管理员范围,如下所示:
RailsAdmin.config do |config|
config.authenticate_with do
warden.authenticate! scope: [:user,:admin]
end
config.current_user_method(&:current_user)
config.current_admin_method(&:current_admin)
end
最佳答案
您可以添加多个设计模型。这是一个示例(带有校验和身份验证):
# initilizer/devise.rb
Devise.setup do |config|
config.warden do |manager|
manager.strategies.add :admin, Admin::ChecksumAuthenticatable
end
end
你类
Admin::ChecksumAuthenticatable
(例如)需要从 ::Devise::Strategies::Base
继承.然后定义你想要的所有方法并覆盖 authenticate!
方法:def authenticate!
admin = Admin.from_checksum_for_auth!(checksum)
# from_checksum_for_auth! is defined on Admin model and check checksum validity
success! admin
end
关于ruby-on-rails - 如何为 rails_admin 使用多设备模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30273063/