如何使用ActiveRecord(Rails 3)优化这种情况
假设我有以下关联: Club has_many users User has_many guns Gun has_many bullets Club: Moe, Larry, Curly Moe: 2 guns gun 1 has 100 bullets gun 2 has 20 bullets Larry: 1 gun gun 1 has 40 bullets Curly: 2 guns gun 1 has 20 bullets gun 2 has 10 bullets 俱乐部有很多用户 用户有很多枪 枪里有很多子弹 俱乐部:莫,拉里,科利 莫:两把枪 1号枪有100发子弹 2号枪有20发子弹 拉里:一支枪 枪1有40发子弹 科莉:两把枪 枪1有20发子弹 2号枪有10发子弹 现在,我想知道俱乐部里有多少子弹 它很容易使用:Moe.bullets.sum(:amount)=120个子弹 但是我如何在不遍历每个用户的情况下获得所有项目符号呢 希望这是有道理的 顺便说一句,我正在使用ActiveRecord和Rails 3如何使用ActiveRecord(Rails 3)优化这种情况,activerecord,ruby-on-rails-3,query-optimization,associations,Activerecord,Ruby On Rails 3,Query Optimization,Associations,假设我有以下关联: Club has_many users User has_many guns Gun has_many bullets Club: Moe, Larry, Curly Moe: 2 guns gun 1 has 100 bullets gun 2 has 20 bullets Larry: 1 gun gun 1 has 40 bullets Curly: 2 guns gun 1 has 20 bullets gun 2 has 10 bullets 俱乐部有很多用
谢谢 我假设枪1和枪2是名称,而不是唯一标识符。那么, 俱乐部有很多用户 用户有很多枪 枪里有很多子弹 俱乐部:莫,拉里,科利 枪:1(Moe),2(Moe),3(Larry),4(Curly),5(Curly) 莫:两把枪 (枪)1有100发子弹 (枪)2有20发子弹 拉里:一支枪 (枪)3有40发子弹 科莉:两把枪 (枪)4有20发子弹 (枪)5有10发子弹 在这种情况下,我会将俱乐部id也添加到枪表中。我们可以直接得到一个俱乐部的子弹数 或者另一种解决方案是使用计数器缓存 希望能有帮助 rgds 坎南河