Ruby on rails 4 在rails管理员中配置管理员

Ruby on rails 4 在rails管理员中配置管理员,ruby-on-rails-4,rails-admin,Ruby On Rails 4,Rails Admin,我已经在我的应用程序上成功地设置了rails管理员-问题是现在任何人都可以访问/admin..我正在使用Desive,如何设置管理员用户并强制他们登录 我不确定如何实现这一点您可以向users表中添加一个布尔属性,并将其设置为admin,然后您可以使用cancan gem。使用。适当调整权限 能力.rb user ||= User.new # guest user if user.roles.include? :admin can :manage, :all elsif user.role

我已经在我的应用程序上成功地设置了rails管理员-问题是现在任何人都可以访问/admin..我正在使用Desive,如何设置管理员用户并强制他们登录


我不确定如何实现这一点

您可以向users表中添加一个布尔属性,并将其设置为admin,然后您可以使用cancan gem。

使用。适当调整权限

能力.rb

user ||= User.new # guest user

if user.roles.include? :admin
  can :manage, :all
elsif user.roles.include? :editor
  can :access, :rails_admin   # grant access to rails_admin
  can :dashboard              # grant access to the dashboard
  can :index,       :all
  can :read,        :all
  can :export,      :all
  can :show_in_app, :all
  can :create,      []
  can :update,      []
  can :destroy,     []
  ...
app_controller.rb

rescue_from CanCan::AccessDenied do |exception|
  redirect_to main_app.root_path, alert: exception.message
end

您的答案是否可以更具体一点?只需在users表中添加一个类似is_admin的布尔字段,并为admin user设置此字段,然后处理会话上的路由_controller创建操作。您可以使用种子文件或轨道控制台将字段更新为true。