rails_admin身份验证与用户的布尔管理员

时间:2014-12-29 05:02:22

标签: ruby-on-rails-4 devise rails-admin

我目前正在使用rails 4.2.0beta4 with devise。在我的架构中,我的用户有boolean:admin default:false。安装rails_admin后,暂时允许每个用户转到我的/ admin。但是我该怎么做才能只有boolean is_admin的用户呢?真人登录?

我应该只做rails generate devise admin吗?这比再次配置更快吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我要创建一个管理命名空间... 1 - 在routes.rb

namespace :admin do
  resources :your_routes
end

2 - 确保存在以下目录; app / views / admin,app / controllers / admin,并将要限制的任何控制器和视图模板放在这些文件夹中。

3 - 将其添加到application_controller.rb

def user_is_admin?
  signed_in? && current_user.is_admin?
end

4 - 然后在app / controllers / admin中的任何控制器中添加一个before_filter进行检查 some_controller.rb

class Admin::YourController < ApplicationController
  before_filter :user_is_admin?
end

对于它的价值,如果你不想,你就没有命名空间。从技术上讲,您可以将步骤3和4中的before_filter添加到您想要保护的任何操作中,但我认为从长远来看,命名空间是一个更好的主意。

相关问题