在进行渲染时如何访问Collection的其他元素:collection?

时间:2013-07-02 22:13:24

标签: ruby-on-rails ruby renderpartial

我正在渲染一个对象集合,并且,在我渲染的每个对象的部分内部,我希望能够输出一些信息,这些信息需要引用我尚未迭代的集合中的项目: / p>

users_controller.rb:

def index
  @users = %w(Nelson Lisa Milhouse Janey)
end

index.html.haml:

= render :partial => "user", :collection => @users

_user.html.haml:

- if next_user
  %p= "#{next_user} likes #{user}!"
- else
  %strong NOBODY LIKES MILHOUSE

是否存在我不知道的固有访问器,我将替换为“next_user”,并在partial中调用以获取集合中任何其他对象的数据?

或者我是否注定要将“next_user”作为局部变量传递?

1 个答案:

答案 0 :(得分:3)

可以这样做:

= render :partial => "user", :collection => @users, :locals => { :users => @users}

然后您就可以访问@users