обновить атрибут ассоциации после сохранения - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть две модели: Заказ и Возврат

Когда возвращается Возврат Я хотел бы обновить Заказ :status на «возмещение»

return.rb

belongs_to :order
after_save :set_order_status

enum status: { pending: 0, confirmed: 1, refunded: 2 }

def set_order_status 
  if self.status == "refunded"
     self.order.status = "refunded"
  end
end

order.rb

 has_one    :returning

  enum status: { pending: 0, paid: 1, confirmed: 2 , shipped: 3, cancelled: 4, refunded: 5 }

Я считаю, что это не сработает... мой метод set_order_status ничего не меняет в порядке ...

1 Ответ

2 голосов
/ 08 апреля 2019

У вас есть методы с enum.так что вы можете сделать, как показано ниже в методе after_save,

return.rb

belongs_to :order
after_save :set_order_status

enum status: { pending: 0, confirmed: 1, refunded: 2 }

def set_order_status 
  self.order.refunded! if self.refunded?
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...