0

私は次のものを持っています:

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うまくいかなかったようなもの...

ありがとう

4

1 に答える 1

1

どうですか?

user.visited_rooms.includes(:visits).order('visits.count DESC')
于 2012-10-13T15:19:51.810 に答える