我有一个访问模型如下
class Visit < ActiveRecord::Base
belongs_to :engineer
has_many :machines
end
我想要做的是通过使用以下代码找到与特定工程师相关的机器数量
count = engineer.visits.map(&:machines).flatten.size
有没有更好更快的方法来做到这一点?我不想在工程师和机器之间建立直接关联。
我有一个访问模型如下
class Visit < ActiveRecord::Base
belongs_to :engineer
has_many :machines
end
我想要做的是通过使用以下代码找到与特定工程师相关的机器数量
count = engineer.visits.map(&:machines).flatten.size
有没有更好更快的方法来做到这一点?我不想在工程师和机器之间建立直接关联。
您可以使用模型关键字(例如join、includes )进行查询。同时从模型中选择一个记录。
供您参考http://archives.ryandaigle.com/articles/2008/7/7/what-s-new-in-edge-rails-easy-join-table-conditions,http://railscasts.com/episodes /202-active-record-queries-in-rails-3