1

我只想为具有管理员角色的用户授予对 /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

那有多糟糕?

4

0 回答 0