我如何让一个模型监听另一个模型的更新?
How do I having one model listen for updates of another?
我有两个模型,Subscription
和 Offer
。订阅有很多优惠。优惠有一个订阅。
订阅和优惠也有状态。如果订阅状态发生变化,所有关联的优惠都必须随之变化(反之则不行)。
现在我们正在使用 after_save 挂钩来浏览和更新订阅优惠。但似乎耦合太紧了。
我不知道这是否是最好的解决方案,但我想象的是这样的:
- 订阅节省
- 订阅广播其
id
和新的 status
- Offer 监听正在保存的订阅,并相应地自行更新
这是一个好的解决方案吗?我以前真的不必打破紧密耦合。我读过有关 Observers 的内容,但我不认为这正是我要找的东西,因为它们更适合观察自己模型的事件。对吗?
Wisper gem 正是您要找的。
我有两个模型,Subscription
和 Offer
。订阅有很多优惠。优惠有一个订阅。
订阅和优惠也有状态。如果订阅状态发生变化,所有关联的优惠都必须随之变化(反之则不行)。
现在我们正在使用 after_save 挂钩来浏览和更新订阅优惠。但似乎耦合太紧了。
我不知道这是否是最好的解决方案,但我想象的是这样的:
- 订阅节省
- 订阅广播其
id
和新的status
- Offer 监听正在保存的订阅,并相应地自行更新
这是一个好的解决方案吗?我以前真的不必打破紧密耦合。我读过有关 Observers 的内容,但我不认为这正是我要找的东西,因为它们更适合观察自己模型的事件。对吗?
Wisper gem 正是您要找的。