Создание частичного, который может взять коллекцию
У меня проблема с частичным, который отображает принимает коллекцию @users, а затем создает отчет, как:
_users.html.erb:
<table>
<tr>
...
</tr>
<% @items.each do |u| %>
..
<% end %>
</table>
Так что теперь на моей домашней странице #index erb я хочу отобразить 2 отчета:
But I am getting an error saying that items doesn't exist.
undefined method `each' for nil:NilClass
Как мне сказать частичному, что @good_users или @bad_users должны быть назначены @items?
1 ответ
Решение
Используйте локальную переменную, например, "пользователи"
<table>
<tr>
...
</tr>
<% users.each do |u| %>
..
<% end %>
</table>
И когда вы рендерите частичное, установите локальную переменную:
render partial: 'users', locals: { users: @good_users }
или же
render partial: 'users', locals: { users: @bad_users }
по мере необходимости.