Для получения дополнительной информации, пожалуйста, см. Мой вопрос: Приложение Rails, использующее STI - самый простой способ получить эти записи?
У меня есть некоторые модели, объединенные с помощью отношения has_many через третью таблицу соединений (рецепт и ингредиент объединены через RecItem).
Так что ребята из предыдущего вопроса помогли мне сгруппировать ингредиенты моего рецепта по типу - это именно то, что я хотел. Однако теперь, когда я обращаюсь к @ recipe.ingredients вместо @ recipe.rec_items, я не могу вернуться к данным, хранящимся в таблице соединений rec_items (например, количество ингредиентов, продолжительность приготовления и т. Д.) )
До использования group_by я перебирал rec_items каждого рецепта примерно так:
<% @recipe.rec_items.each do |rec_item| %>
<%= rec_item.ingredient.name %><br />
<%= rec_item.amount %><br />
<% end -%>
Теперь, когда я группирую @ recipe.ingredients, как я могу вернуться к rec_items, связанным с этим рецептом? (Если я делаю ингредиент.rec_items, он дает мне rec_items для всех рецептов ... опять же, я могу сделать это с неуклюжими утверждениями, такими как:
ingredient.rec_items.find_by_recipe_id(@recipe.id).amount
но это кажется неправильным ...) Есть ли простой способ достичь этих целей? (получение списка ингредиентов конкретного рецепта, отсортированного / сгруппированного по: типу, при этом все еще имея возможность доступа к дополнительной информации в rec_items для каждой пары рецепт / ингредиент?)
Спасибо!