Я хочу использовать метод обратного вызова after_update для метода, который обновляет запас товара в приложении корзины.Код в контроллере выглядит следующим образом: ProductsController.rb:
def update
order = current_order
@order_item = order.order_items.find(params[:id])
@order_item.product.save
end
И в ProudctModel:
after_update :remove_stock
def remove_stock
puts "this is #{order_items}"
order_items.collect do |oi|
puts "this is product id: #{oi.product.id}"
end
end
Однако при запуске вышеописанного журнал выглядит следующим образом:
order items product: 1
order items product: 1
order items product: 1
order items product: 1
order items product: 1
order items product: 1
order items product: 1
order items product: 1
order items product: 1
order items product: 1
order items product: 1
order items product: 1
Почему отображается так много product_ids, когда в order_item присутствует только один продукт?
PS: Мои ассоциации таковы:
product has_many order_items
order_items принадлежит_to order
order has_many order_items
Что мне не хватает?Пожалуйста помоги.Заранее спасибо.