渴望只加载与ActiveRecord的第一个关联

时间:2015-03-19 10:45:42

标签: ruby-on-rails-4 activerecord eager-loading

我有一个User模型和一个:friends关联

当我创建数据时,我会将用户及其前5位朋友

我能做到

User.includes(:friends)

但这将吸引所有朋友。

有没有办法只带前5个朋友?

1 个答案:

答案 0 :(得分:3)

我认为以下内容可行:

class User < ActiveRecord::Base
  has_many :friends
  has_many :top_friends, -> { limit(5).order(:id) }, class_name: Friend
end

User.includes(:top_friends)