Но как вы узнаете, какие идентификаторы ItemVariation должны идти на этом ItemStock?и вы создаете один ItemStock каждый раз, когда сохраняется любой вариант.Я даже не думаю, что вам нужно устанавливать этот массив ids, так как ItemStock уже принадлежит Item, у которого есть много вариантов (@ item_stock.item.variations, и все готово).
Также теперь вы говорите оstock_qty
атрибут, который вы никогда не упоминали ранее, вы никогда не устанавливали его в обратном вызове и не показывали схему своей базы данных.откуда это происходит?является атрибутом варианта, который вы хотите суммировать с текущим item_stock?
Я также не понимаю, почему у элемента есть много запасов для кода, который вы показываете.
I 'Я сделаю дикое предположение и предложу вам сделать что-то вроде:
ItemStock
belongs_to :item
belongs_to :item_variation
end
ItemVariation
after_save :add_to_item_stock
def add_to_item_stock
item_stock = self.item.item_stock.where(item_variation_id: self.id).first_or_initialize
item_stock.stock_qty = self.stock_qty
item_stock.save
end
end
, но, как я уже сказал, это довольно сложное предположение.Я бы порекомендовал вам сначала попытаться понять, что вы делаете, потому что кажется, что вы просто скопировали код из того вопроса, который вы связали, и на самом деле вы его не понимаете.