大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Rails has_many关系中缺少触摸选项,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
类别名称显示在每本书的页面中,并且页面被缓存.
如果我更改了类别名称(例如,从“科幻”到“科幻小说”),那么所有相应的书页都将过时,并且需要“触摸”书籍才能触发HTML重新生成.
能够这样做似乎是有意义的:
class Category << ActiveRecord::Base has_many :books,touch: true end@H_489_9@但是the option is unavailable,我猜是因为触摸机制会实例化每个对象,这可能会导致has_many关系出现重大性能损失.
为了避免这种情况,我使用原始SQL如下:
class Category << ActiveRecord::Base has_many :books after_update -> { ActiveRecord::Base.connection.execute "updatE books SET updated_at='#{Current_time_String}' WHERE category_id=#{iD})" } end@H_489_9@这太可怕了.
有没有更好的办法?
以上是大佬教程为你收集整理的ruby-on-rails – Rails has_many关系中缺少触摸选项全部内容,希望文章能够帮你解决ruby-on-rails – Rails has_many关系中缺少触摸选项所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。