Создание частичного, который может взять коллекцию

У меня проблема с частичным, который отображает принимает коллекцию @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 }

по мере необходимости.

Другие вопросы по тегам