Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 更改时父类的触发器观察者_Ruby On Rails_Ruby On Rails 3_Observer Pattern - Fatal编程技术网

Ruby on rails 更改时父类的触发器观察者

Ruby on rails 更改时父类的触发器观察者,ruby-on-rails,ruby-on-rails-3,observer-pattern,Ruby On Rails,Ruby On Rails 3,Observer Pattern,我正在写一个时间线,当对象发生变化时,比如“产品”,它将事件存储在一个表中 我已经为产品编写了一个观察器,它使用“创建后”和“更新前”等组合了一个合理的日志消息和相关数据。这很好用 现在,每种产品都有许多变体,而且每种变体都有许多价格。但是,它们通常以相同的形式编辑。但只有对产品类的更改才会导致观察者触发“在更新之前” 我希望对变体的更改触发关联产品的产品观察者,并以相同的方式导致价格的更改触发与价格关联的变体关联的产品 这与Rails 2.3.3+中的:touch功能没有什么不同。我也尝试依赖

我正在写一个时间线,当对象发生变化时,比如“产品”,它将事件存储在一个表中

我已经为产品编写了一个观察器,它使用“创建后”和“更新前”等组合了一个合理的日志消息和相关数据。这很好用

现在,每种产品都有许多变体,而且每种变体都有许多价格。但是,它们通常以相同的形式编辑。但只有对产品类的更改才会导致观察者触发“在更新之前”

我希望对变体的更改触发关联产品的产品观察者,并以相同的方式导致价格的更改触发与价格关联的变体关联的产品

这与Rails 2.3.3+中的:touch功能没有什么不同。我也尝试依赖该函数,但触摸似乎不会触发before_update observer方法


您将如何做到这一点?

根据我目前的经验,touch应该触发常规回调,但不会触发观察员回调。因为这些有点不同