У меня есть меню на сайте, над которым я работаю, меню food_items. Каждая из записей в таблице также содержит поле категории. К этой категории могут относиться гамбургеры, закуски, напитки или все, что они хотят классифицировать по продуктам.
Я пытаюсь отобразить меню с элементами, сгруппированными по этому полю категории. Моя попытка пока:
food_item_menus_controller.rb
...
def food_list
@foods = FoodItem.all
@food_list = @foods.group_by { |t| t.category }
end
views/food_item_menus/index.html.haml
= @food_list.group_by (@food_items.category).each do |food_list|
%p
= food_list.name
%ul
- for food_items in food_items
%li
= food_items.name
Моя ошибка в том, что у меня нулевой объект. Полагаю, мой звонок @foods ничего не возвращает.
models/food_item.rb
class FoodItem < ActiveRecord::Base
has_many :menus, :through => :food_item_menus
has_many :food_item_menus
end
Я что-то не так настроил? Или я ошибаюсь, что если я вызываю @foods в представлении, это на самом деле не вызывает переменную, установленную в контроллере? Чем больше я пытаюсь понять это, тем больше я запутываюсь во всем, включая основы.