我只想为具有管理员角色的用户授予对 /samurai (可安装引擎)的访问权限:
我怎样才能做到这一点?
我的路线
authenticate do
mount Resque::Server.new, :at => "/resque"
mount Samurai::Engine => "/samurai"
scope "/admin" do
resources :customers, :images,:categories, :groups,:redirects, :projects, :specs, :indices,:glossaries, :invoices, :users, :products
resources :comments do
member do
post 'approve'
post 'moderate'
post 'disapprove'
end
end
end
PS = 我正在使用 CanCan 和 Devise
更新
我真的是 Ruby 的新手,我已经通过这种方式解决了我的问题!
1) 在 config/initializers 创建一个文件;
2)在该文件中,我将该代码放在下面;
Samurai::ApplicationController.class_eval do
before_filter :restrict_access
private
def restrict_access
user = current_user
head :unauthorized unless user.role_id == 1
end
end
那有多糟糕?