У меня есть простой набор из двух связанных таблиц «порядка», который имеет много «line_items». Также есть количество, связанное с позицией, например,
Заказ1
line_item a: «плетение корзин для начинающих», количество: 3
line_item b: «Справочник чайников по вампиризму», количество: 1
Когда я устанавливаю миграцию, я могу включить количество, используя:
Order.find(:all).each do |o|
o.update_attribute :line_items_count, o.line_items.map(&:quantity).sum
end
, что дает мне правильное количество элементов (4), но я не могу сделать это в модели заказа, потому что не могу передать количество позиций, и поэтому он просто считает количество позиций (2).
Итак, в модели line_item у меня есть:
belongs_to :order, :counter_cache => true
Можно ли как-то указать количество, чтобы оно правильно указывало 4 вместо 2?