Rails AR:为用户提取大多数访问过的房间

时间:2012-10-13 13:35:13

标签: ruby-on-rails database activerecord

我有以下内容:

class Visit < ActiveRecord::Base
  attr_accessible :user, :room

  belongs_to :user
  belongs_to :room
end

class User < ActiveRecord::Base
  has_many :visited_rooms, through: :visits, source: :room
  has_many :visits
  ...
end

如何为特定用户返回访问量最大的会议室?我想出的唯一一件事是: user.visits.include(:room).order("count DESC")

然后从每个访问实例中获取房间。 有没有办法只取得房间,而不需要访问?

user.visits.rooms这样的东西不起作用......

由于

1 个答案:

答案 0 :(得分:1)

怎么样?

user.visited_rooms.includes(:visits).order('visits.count DESC')