TL;DR
基本上,在不是7个RESTful默认值之一的控制器操作中,我是否必须手动调用authorize!
,或者load_and_authorize_resource
在那些非标准操作中仍然为我这样做?
更长版本:
我通过rails scaffold
生成了一个控制器,然后添加了几个自定义操作来做一些随机的其他事情。
在控制器的顶部,我有load_and_authorize_resource
,我相信它将在每个操作中调用authorize!
。
它是对控制器内的每个动作(包括自定义动作)都这样做,还是只对脚手架生成的操作这样做?(即index
、show
、new
、edit
、create
、update
、destroy
)
我从cancancan文档中看到:
为每个操作设置此项可能很繁琐,因此提供了
load_and_authorize_resource
方法来自动授权RESTful风格资源控制器中的所有操作。
但我不确定这是否只是开发者添加的7个原件或其他
简单的答案是是,它将应用于控制器中的所有动作
来自cancancan关于选择操作的文档:
默认情况下,这将应用于控制器中的每个操作,即使它不是7个RESTful操作之一。