所以我实现了 rails admin gem,即使使用 cancan gem,我也无法找到密码保护 localhost:3000/admin 的方法
有人可以给我一个分步指南吗?我真的找不到管理面板的视图或控制器,所以我不确定如何用密码保护它。
所以我实现了 rails admin gem,即使使用 cancan gem,我也无法找到密码保护 localhost:3000/admin 的方法
有人可以给我一个分步指南吗?我真的找不到管理面板的视图或控制器,所以我不确定如何用密码保护它。
此页面描述了您应该如何使用 Cancan:https ://github.com/sferik/rails_admin/wiki/CanCan
# in config/initializers/rails_admin.rb
RailsAdmin.config do |config|
config.authorize_with :cancan
end
他们的能力.rb 示例可能比您需要的多一点,这是我的:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.has_role? :admin
can :manage, :all
can :access, :rails_admin # grant access to rails_admin
can :dashboard # grant access to the dashboard
end
end
end
然后,您必须将管理员角色授予用户。
您可以在 rails 控制台执行此操作:
user = User.find(1) #find user with ID 1
user.add_role :admin #assign role
user.has_role? :admin #should evaluate to True