我使用Rails_Admin和Devise。我有一个带有专栏的管理模型' super'这是一个布尔值。我想阻止管理员添加新的管理员,除非他们是超级管理员。我已经将rails_admin中的管理模型隐藏给所有不是超级管理员的人。但是,我仍然可以通过键入路由localhost:3000 / admin / admins / new来添加新的管理员。我怎么能阻止这条路线?他们也应该无法编辑或删除其他管理员。
答案 0 :(得分:1)
您可以尝试在routes.rb中重定向它们,具体取决于它们的角色。像这样:
authenticate :user, lambda { |u| u.roles.include? :superadmin } do
get '/admin/user/new', to: redirect('/admin')
end
mount RailsAdmin::Engine => '/admin', as: 'rails_admin'