我有一个访问模型,如下
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