如何让一个模型监听另一个模型的更新?

时间:2015-01-31 17:05:06

标签: ruby-on-rails rails-activerecord

我有两个模型,SubscriptionOffer。订阅有很多优惠。优惠有一个订阅。

订阅和优惠也有状态。如果订阅状态发生变化,则所有关联的商品必须随之更改(但反之亦然)。

现在我们正在使用after_save挂钩来更新订阅优惠。但它似乎太紧密耦合了。

我不知道这是否是最佳解决方案,但我想象的是:

  1. 订阅保存
  2. 订阅广播其id和新status
  3. Offer会侦听正在保存的订阅,并相应地自行更新
  4. 这是一个很好的解决方案吗?我之前没有真正打破紧耦合。我读过关于观察者的信息,但我不认为这正是我正在寻找的,因为他们更多的是观察自己模型的事件。正确?

1 个答案:

答案 0 :(得分:1)

Wisper宝石正是你要找的东西。