Rails:如何初始化使用相同父实例的`where`获取的子记录?

时间:2016-08-05 05:46:42

标签: ruby-on-rails rails-activerecord

我有has_many这样的关系:

class User
  has_many      :jobs, -> { order("flow_jobs.id desc") }, :class_name => "UserJob"
end
class Job
  belongs_to :user
end

现在我有一个查询jobs = user.jobs.where(...),它返回属于同一用户的作业集合。然而,它们都有自己不共享的User AR对象实例。如何避免它并使用我用于查询的相同user实例初始化它们?

> jobs = user.jobs.where(id: [1092, 1090])
 => #<ActiveRecord::AssociationRelation [....]
> jobs[0].user.object_id == jobs[1].user.object_id
 => false 
> jobs[0].user.object_id == user.object_id
 => false 

0 个答案:

没有答案