【发布时间】:2015-01-05 21:12:28
【问题描述】:
我有两个班级,一个Item 和一个Price。我有一个 Item 对象的缓存哈希表示,我想在更新它或更新关联对象时清除/创建它。
在我的Item 课程中,我有:
在 item.rb 中:
before_update do
self.create_new_frags
end
但是,Rails 认为它拥有最新版本,因此价格值不会更新。我尝试做 self.reload 但它仍然无法正常工作。我如何告诉这个实例它需要重新加载它的关联?这有点棘手,因为我不能让它重新加载所有内容,因为这是在 before_update 中,这样我会丢失即将更新的内容。
在 item.rb 中:
def as_mig_hash type # part of create_new_frags
self.reload # didn't do anything
r={}
r[:id]=id
r[:header]=header
r[:detail]=detail
end
【问题讨论】:
标签: ruby-on-rails activerecord ruby-on-rails-3.2