Вопрос о доступе к переменным внутри партиалов - PullRequest
0 голосов
/ 14 июля 2011

Я хочу перебрать массив объектов

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

Мой вопрос заключается в том, как передать пользовательский объект в частичное и как мне ссылаться на него в частичном. Я знаю, как это сделать, если это всего лишь один объект, но я не знаю, как передать ему один объект из массива.

Я пытался передать ему пользователя и ссылаться на пользователя в частичном, но он не распознает пользователя в частичном.

Ответы [ 2 ]

1 голос
/ 14 июля 2011

Вы можете сделать это без цикла - передайте его как параметр :collection.Чтобы использовать пользовательское имя локальной переменной внутри частичного, укажите параметр :as в вызове к частичному:

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

С этим изменением вы можете получить доступ к экземпляру коллекции @users какmember локальная переменная внутри партиала.

1 голос
/ 14 июля 2011
<% for user in @users %>
  <%= render "member_list" , locals => {:user => user}%>
<% end %>

частично:

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