如何在关联变异时始终更新模型的updated_at

时间:2016-05-03 03:34:56

标签: ruby-on-rails

我有一个类似的模型:

class Company < AR
  has_many :locations
end

class Locations < AR
  has_many :stores
end

class Store < AR
  has_many :products
end

是否可以在每次更改任何关联时更新company.updated_at?

e.g。如果产品更新,我希望它冒泡并更新company.updated_at列。

这可能吗?

同样,我可以在更新company.updated_at时挂钩事件,以便我可以进行redis调用吗?

1 个答案:

答案 0 :(得分:0)

是的,您可能需要这样做:

class Company < AR
  has_many :products
end

class Product< AR
  belongs_to :company, touch: true
end

每当属于updated_at的{​​{1}}发生变化时,这将更新company products

每当company更新后,company都会更新,updated_atbefore_update回调会为您工作吗?你可以在其中调用redis。

更多信息Touch