Ruby on rails 4 仅在第一次加载与ActiveRecord的关联时立即加载
我有一个Ruby on rails 4 仅在第一次加载与ActiveRecord的关联时立即加载,ruby-on-rails-4,activerecord,eager-loading,Ruby On Rails 4,Activerecord,Eager Loading,我有一个用户模型和一个:朋友协会 当我创建数据时,我会将用户及其前5个朋友 我可以 User.includes(:friends) 但这需要所有的朋友 有没有办法只交前5个朋友?我想以下方法可以奏效: class User < ActiveRecord::Base has_many :friends has_many :top_friends, -> { limit(5).order(:id) }, class_name: Friend end User.includes
用户
模型和一个:朋友
协会
当我创建数据时,我会将用户及其前5个朋友
我可以
User.includes(:friends)
但这需要所有的朋友
有没有办法只交前5个朋友?我想以下方法可以奏效:
class User < ActiveRecord::Base
has_many :friends
has_many :top_friends, -> { limit(5).order(:id) }, class_name: Friend
end
User.includes(:top_friends)
class用户{limit(5)。顺序(:id)},类名:Friend
结束
用户。包括(:顶级朋友)
如果使用指定的:limit选项加载关联,它将被忽略,并返回所有关联的对象。根据我的经验,秩序也被忽略了。