【发布时间】:2013-05-25 10:28:42
【问题描述】:
如果您有 2 个模型,视频和类别,并且它们之间存在“has_and_belongs_to_many”关系,当其中一个发生更改时,您如何执行触摸以使缓存无效?
您不能像使用一对多关系那样对它们进行“触摸”。现在,当我更改类别名称时,属于该类别的视频不知道更改,直到我使缓存无效。我的视图模板显示每个视频的类别名称。
【问题讨论】:
-
我认为 HABTM 不存在,因为它的性能可能不会很好。你有什么理由不能使用回调来做同样的事情吗?
-
不,我会用任何东西来让它工作。你能给我一个关于如何用回调触摸的方向吗?
-
放弃HABTM并使用
has_many :through。 -
视频模型中是否缓存了类别名称?你能写出这个问题来使它更明确吗?
-
我不需要为此创建另一个模型吗?我很好奇@d_ethier 在使用回调时所说的话。任何人都可以对此发表评论吗?谢谢大家
标签: ruby-on-rails caching activerecord