Это сводит меня с ума. Я сделал много поисков Google и StackOverflow, но не могу найти решение. У меня есть 2 модели: FoodMenu и Product. FoodMenu has_many: продукты и продукт принадлежит В таблице продуктов есть столбец "food_menu_id", и я также сделал add_index: products,: food_menu_id.
Я хочу создать представление, в котором перечислены все FoodMenus и их продукты. В папке views у меня есть папка страниц, которая содержит «menus.html.erb». В pages.controller.rb у меня есть:
def menus
@food_menus = FoodMenu.includes(:products).all
end
В menus.html.erb у меня есть:
<%= @food_menus.each do |food_menu| %>
<%= food_menu.name %>
<ul>
<%= food_menu.products.each do |product| %>
<li><%= product.name %></li>
<% end %>
</ul>
<% end %>
Возвращает ожидаемые данные, за исключением того, что после каждого набора продуктов он также отображает полный массив продуктов, а затем в конце отображает полный массив FoodMenus. Почему он это делает и как я могу это исправить?
Под полным массивом я имею в виду следующее:
[#FoodMenu id: 1, имя: "Бутерброды", описание: "прямо с прессы", create_at: "2011-12-21 20:39:42", updated_at: "2011-12-21 20:39:42 ">, #FoodMenu id: 2, имя:" Пицца ", описание:" свежее местное тесто ", create_at:" 2011-12-21 20:40:03 ", updated_at:" 2011-12-21 20:40: 03" >]