有关访问部分内部变量的问题

时间:2011-07-14 05:45:17

标签: ruby-on-rails-3 partial-views

我想迭代一个对象数组

<% @users.each do |user| %>
  <%= render "member_list" %>
<% end %>

我的问题是如何将用户对象传递给partial,以及如何在partial中引用它。我知道如果它只是一个对象怎么做,但我不知道如何将单个对象从数组传递给它。

我尝试将用户传递给它并在部分中引用用户,但它无法识别部分用户。

2 个答案:

答案 0 :(得分:1)

<% for user in @users %>
  <%= render "member_list" , locals => {:user => user}%>
<% end %>

部分:

Hello. I'm <%= user.name %>

答案 1 :(得分:1)

您可以在没有循环的情况下执行此操作 - 将其作为:collection参数传递。要在partial中使用自定义局部变量名称,请在对partial的调用中指定:as选项:

<%= render :partial => "member_list", :collection => @users, :as => :member %>

通过此更改,您可以访问@users集合的实例作为部分内的member局部变量。