我有一个简单的 Customer 模型,它与 Purchase 模型有很多关系。
class Customer < ActiveRecord::Base
has_many :purchases
end
我反复发现我需要通过以下方式在我的视图中订购 Customer.purchases:
@customer.purchases.joins(:shop).order("shops.position").order(:position) #yes, two orders chained
为了保持干燥,我想把它放在一个集中的地方,这样我就不必重复做。理想情况下,我想让它成为 Customer.purchases 的默认排序。例如:
class Customer < ActiveRecord::Base
has_many :purchases, :order => joins(:shop).order("shops.position").order(:position)
end
显然上面的行不通。我该怎么做?