我的控制器有很多自定义操作:
class FooController < ApplicationController
def fizz
end
def buzz
end
...
end
我想在这两种方法中加载和授权Bar集合(不重复@bars = Bar.all
)。
类似的东西:
load_and_authorize_resource :bar, :collection, :only => [:fizz, :buzz, ...]
但这根本不起作用,@bars
变量在所有操作中都是nil
。请帮助我了解出了什么问题以及如何使其发挥作用。谢谢!
答案 0 :(得分:2)
以下对我有用(source):
load_and_authorize_resource :bar, :parent => false
答案 1 :(得分:1)
您可以在控制器中使用before_filter:
before_filter :load_and_authorize_resource, :only => [:fizz, :buzz]
private
def load_and_authorize_resource
@bars = Bar.all
end