使用什么代替回调
what to use instead of callback
我有这样的模型结构:
TestCase has_many :test_case_steps
TestCaseStep belongs_to :test_case
TestCase
具有 status
属性。
TestCaseStep
具有 status
属性。
用户可以更改 TestCaseStep
的 status
。如果所有关联的 TestCaseStep
对象都具有状态 'passed',我想更改 TestCase
的 status
。
用户无法手动更新 TestCase
的 status
。
我认为可以使用一些回调,检查所有关联对象的状态,一旦全部为 passed
,更新 TestCase
的状态。但是在涉及另一个模型的地方使用回调是邪恶的。
请指点方向。可能存在一些 whatcher/observer 方法或类似的方法。谢谢!
rails-observersgem是Rails3个观察者重构为gem.
另请参阅 ActiveSupport::Concern,以混合您要进行更新的代码。
如果您愿意添加 gem,请参阅 wisper,它可以实现简单的发布和订阅。
我有这样的模型结构:
TestCase has_many :test_case_steps
TestCaseStep belongs_to :test_case
TestCase
具有 status
属性。
TestCaseStep
具有 status
属性。
用户可以更改 TestCaseStep
的 status
。如果所有关联的 TestCaseStep
对象都具有状态 'passed',我想更改 TestCase
的 status
。
用户无法手动更新 TestCase
的 status
。
我认为可以使用一些回调,检查所有关联对象的状态,一旦全部为 passed
,更新 TestCase
的状态。但是在涉及另一个模型的地方使用回调是邪恶的。
请指点方向。可能存在一些 whatcher/observer 方法或类似的方法。谢谢!
rails-observersgem是Rails3个观察者重构为gem.
另请参阅 ActiveSupport::Concern,以混合您要进行更新的代码。
如果您愿意添加 gem,请参阅 wisper,它可以实现简单的发布和订阅。