我有一个这样的控制器,但没有模型类支持它。
class UserInviteController < ApplicationController
def process_email
authorize! :process_email, :abc
...
method body
...
end
end
在我的能力课上,我有
can :process_email, :abc if user.role == 1
我正在关注Cancan 的 wiki Non RESTful Controllers 授权,它说您可以将符号作为第二个参数传递给双方授权!并能。
它不必是模型类或实例。
通常,第一个参数是尝试执行的“动作”
,
第二个参数是正在执行动作的“主题”。它可以是任何东西。
我也做了同样的事情,但还是不行。
注意:我也试过反过来做
authorize_resource :class => false
正如wiki中所说,但这也行不通。
如果有任何帮助,我的控制器没有任何操作,如显示、新建、创建或任何其他基本 CRUD 操作。
康康:1.4.1