我正在使用可以根据角色限制用户使用gem 没有产品型号
class ProductsController < ApplicationController
authorize_resource :class => false
def index
@customers=Customer.all
end
end
in ability.rb
当我这样写的时候可以让我接受产品控制器
can [:index], :product
但是当我这样写的时候
can [:index], :products
它不允许我访问产品控制器
我怀疑控制器名称是产品,但我们需要编写产品的能力 并且有可能在ability.rb中写出复数?
提前致谢
答案 0 :(得分:0)
这是在Cancan Non RESTful controllers中记录的(当你有一个没有相应模型的控制器时),文档示例显示:
class ToolsController < ApplicationController
authorize_resource :class => false
def show
# automatically calls authorize!(:show, :tool) # Note the singular :tool
end
end
所以,就像你已经想到的那样,你需要在Ability.rb
can :index, :product
您可以阅读有关此Github Ticket
的更多信息