我使用的是Rails_Admin和Devise。我有一个管理模型,它有一个布尔值'super‘列。我想阻止管理员添加新的管理员,除非他们是一个超级管理员。我已经隐藏了在rails_admin的管理模式,所有谁不是超级管理员。但是,我仍然可以通过键入路由localhost:3000/ admin /admins/new来添加新的管理员。怎样才能封锁这条路线?他们也不应该能够编辑或删除其他管理员。
发布于 2016-01-15 08:49:14
您可以尝试根据它们的角色在您的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'https://stackoverflow.com/questions/33356746
复制相似问题