首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails中的平均鞋码

rails中的平均鞋码
EN

Stack Overflow用户
提问于 2011-09-20 17:02:22
回答 1查看 126关注 0票数 1

我有一个模型鞋和购买,用户使买一双鞋。

每次购买都有一个大小属性。我有兴趣向我的用户列出每只鞋的平均鞋码。

显然,只要没有新的购买,我就可以实时计算并缓存结果。然而,我研究了rails中的counter_cache,我意识到它有点类似于我想要实现的目标。

我在鞋里的purchases_count上实现了一个counter_cache。有没有一种优雅的方法可以在counter_cache实现中添加额外的字段total_sizes并覆盖某些方法,以便当purchases_counter增加时,total_sizes也会相应地更新?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-20 17:58:21

你可以使用回调。例如:

代码语言:javascript
复制
class Purchase < ActiveRecord::Base
  belongs_to :shoe
  after_create :update_total_sizes

  def update_total_sizes
    self.shoe.total_sizes += self.size
    self.shoe.save
  end
end

我不知道计数器缓存实现中的覆盖方法,但这是非常干净和直接的IMO。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7482629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档