我有一个与购买模型有很多关系的简单客户模型。使用联接(Rails)指定has_many关联的默认排序?
class Customer < ActiveRecord::Base
has_many :purchases
end
我多次发现,我需要在我在下面的意见的方式订购Customer.purchases:
@customer.purchases.joins(:shop).order("shops.position").order(:position) #yes, two orders chained
在保持事物DRY的利益,我希望把这个地方集中,所以我不必反复做。理想情况下,我希望将其作为Customer.purchases的默认排序。例如:
class Customer < ActiveRecord::Base
has_many :purchases, :order => joins(:shop).order("shops.position").order(:position)
end
显然上述不起作用。我应该怎么做?
似乎没有工作。给我一个'未定义的方法'键?'为零:NilClass'错误。 –
请使用:joins => [:shop] – Mohanraj
不可以。仍然有同样的错误... –