load_and_authorize_resource是授权控制器中的每一个操作,还是只授权RESTful操作



TL;DR

基本上,在不是7个RESTful默认值之一的控制器操作中,我是否必须手动调用authorize!,或者load_and_authorize_resource在那些非标准操作中仍然为我这样做?

更长版本:

我通过rails scaffold生成了一个控制器,然后添加了几个自定义操作来做一些随机的其他事情。

在控制器的顶部,我有load_and_authorize_resource,我相信它将在每个操作中调用authorize!

它是对控制器内的每个动作(包括自定义动作)都这样做,还是只对脚手架生成的操作这样做?(即indexshowneweditcreateupdatedestroy)

我从cancancan文档中看到:

为每个操作设置此项可能很繁琐,因此提供了load_and_authorize_resource方法来自动授权RESTful风格资源控制器中的所有操作。

但我不确定这是否只是开发者添加的7个原件或其他

简单的答案是是,它将应用于控制器中的所有动作

来自cancancan关于选择操作的文档:

默认情况下,这将应用于控制器中的每个操作,即使它不是7个RESTful操作之一。

最新更新