Предположим имеем контроллер
users_controller с екшином
index, который выводит всех пользователей.
class UsersController < ApplicationController
def index
@users = User.all
end
end
тогда вьюха (my_app_rails/app/views/users/index.html.erb) для него
All users
<% @users.each do |user| %>
<% end %>
Вместо этого подхода можно использовать иной, с применением партиалов. Перепишем нашу вьюху.
All users
Теперь партиал (my_app_rails/app/views/users/_user.html.erb):
Т.е. видно, что мы используем хелпер <% render %>, которому передаем в качестве аргумента массив @users. Рельсы "понимают" что необходимо найти партиал users в единичном числе, перебрать предложенный массив. Код
<% @users.each do |user| %>
............................
<% end %>
использовать нет необходимости. Рельсы автоматически создадут соответствующую переменную от массива @users ===> user, ее и надо использовать. Как говорится "Все для людей")))))))))
Партиал должен лежать в папке вьюх контроллера, если мы не имеем контроллера для партиала, но имеем, к примеру модель, все равно создаем папку(к примеру имеем модель Post, но для ее отображения используем иной контроллер, к примеру pages_controller, все равно создаем папку с партиалом my_app_rails/app/views/pages/_page.html.erb) !!!
my_app_rails\
.............app\
.................views\
.......................users\
.............................index.html.erb
............................._user.html.erb