我想致电
@records.collect{|r| r.set_some_virtual_attribute(@context)}
在渲染activescaffold索引视图之前,但如果我这样做:
controller FooController < ApplicationController
before_filter :change_things, :only => :index
active_scaffold :foos
protected
def change_things
@records.collect{|r| r.set_some_virtual_attribute(@context)}
end
end
我明白了:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.collect
调用索引视图时。如果我在ActiveScaffold调用之后放置过滤器,也会发生同样的事情。我会采用某种不同的方法,但最重要的是我需要根据控制器中的某些上下文在@records中设置每个对象的虚拟属性,以便在最终表中显示
THX
-C
答案 0 :(得分:1)
您实际上不需要在控制器中访问此集合。我想做的事情可以通过定义适当的辅助方法来解决。
答案 1 :(得分:0)
我没有对此进行测试,但我认为它应该是@ foos.collect而不是@ records.collect