我想迭代一个对象数组
<% @users.each do |user| %>
<%= render "member_list" %>
<% end %>
我的问题是如何将用户对象传递给partial,以及如何在partial中引用它。我知道如果它只是一个对象怎么做,但我不知道如何将单个对象从数组传递给它。
我尝试将用户传递给它并在部分中引用用户,但它无法识别部分用户。
答案 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
局部变量。