当我订购两个包含的关联之一时,ActiveRecord忽略“包含”?

时间:2015-01-29 22:17:34

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

我有以下模型(简化):

class Job < ActiveRecord::Base
  belongs_to :customer
  has_one :priority
end

我正在尝试将所有作业一次性加载到一个显示客户和优先级的表中,因此我急于加载这两个关联以避免N + 1个查询:

Job.includes(:customer, :priority)

到目前为止一切顺利。当我想按客户名称订购时,问题就来了。按照Rails 4的说明,我这样做:

Job.includes(:customer, :priority).order("customers.name ASC")

ActiveRecord停止急切加载优先级!渲染表会导致对每个优先级单独进行查询。

作为旁注,AR正在自动进行连接而没有“.references(:customers)”。这似乎与文档相反。

0 个答案:

没有答案