Rails обновляет вложенные атрибуты в консоли - PullRequest
0 голосов
/ 25 мая 2018

У меня есть две модели: -

class Order < ApplicationRecord
  has_many :order_items, inverse_of: :order, dependent: :destroy
  after_update :update_qantity
  def update_quantity
   self.order_items.each do |oi|
    if oi.saved_change_to_quantity?
      #some logic
    end
  end

end

и

class OrderItem < ApplicationRecord
  belongs_to :order, inverse_of: :order_items
end

Теперь, когда я делаю это с консоли рельсов: -

ord = Order.first  
ord.order_items.first.update_attributes(quantity: 101)
ord.save!

Управлениеидет внутри метода update_quantity, но сохранено_change_to_quantity?ложно (проверено byebug).Как мне обновить вложенные атрибуты, чтобы управление входило в оператор if.

1 Ответ

0 голосов
/ 25 мая 2018

Получил то, что искал: -

Order.first.update_attributes(order_items_attributes: {id: "you_order_item_id", quantity: 101})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...