У меня есть таблица блюд, таблица ингредиентов и таблица блюд_ для объединения блюд и ингредиентов (см. Ниже). Каждый раз, добавляя ингредиент в блюдо, я хочу увеличить или добавить количество ингредиентов в таблицу dish_ingredient. Мне удалось обновить номер, выполнив:
dish.dish_ingredients[counter].number_of_ingredients = new number
но, делая это таким образом, мне нужно управлять счетчиком. Есть ли простой способ сделать это в Rails?
class Dish < ActiveRecord::Base
has_many :dish_ingredients
has_many :ingredients, :through => :dish_ingredients
end
class Ingredient < ActiveRecord::Base
has_many :dish_ingredients
has_many :dishes, :through => :dish_ingredients
end
class DishIngredient < ActiveRecord::Base
belongs_to :dish
belongs_to :ingredient
end
# in the database table dish_ingredient contains a field 'number_of_ingredients'
# that I want to update when ingredients are modified or added to dish.