Ruby on rails 3 对嵌套资源进行计数的rails 3查询

Ruby on rails 3 对嵌套资源进行计数的rails 3查询,ruby-on-rails-3,Ruby On Rails 3,假设我有3个表:用户(有很多)->网站(有很多)->访问量。 如果不编写简单的sql代码,如何确定每个用户的总访问次数 我有一个想法,但我并不十分自豪,因为我让rails代替mysql进行计算: count = 0 user.websites.each |website| count += website.visits.count() 我是rails的新手,也许我错过了一些文档。是否可以从查询生成器中找到该计数?您可以定义用户通过以下网站进行了多次访问: class User <

假设我有3个表:用户(有很多)->网站(有很多)->访问量。 如果不编写简单的sql代码,如何确定每个用户的总访问次数

我有一个想法,但我并不十分自豪,因为我让rails代替mysql进行计算:

count = 0
user.websites.each |website|
    count += website.visits.count()

我是rails的新手,也许我错过了一些文档。是否可以从查询生成器中找到该计数?

您可以定义用户通过以下网站进行了多次访问:

class User < ActiveRecord::Base
  has_many :websites
  has_many :visits, :through => :websites
end
也就是说,ActiveRecord为您创建SQL查询

(0.4ms)  SELECT COUNT(*) FROM "visits" INNER JOIN "websites" ON "visits"."website_id" = "websites"."id" WHERE "websites"."user_id" = 1
=> 8