Рельсовый сбор заказов по атрибуту ассоциированной модели? - PullRequest
7 голосов
/ 11 сентября 2011

Я пытаюсь найти способ упорядочить коллекцию модели, основываясь на атрибуте ассоциации собранной модели (я думаю ... что за глоток). Вот что я делаю:

class Item < ActiveRecord::Base
  belongs_to :category
end

class Order < ActiveRecord::Base
  has_many :items, :order => :category_id
end

В данный момент order.items возвращает элементы, упорядоченные по category_id. Но я действительно хочу, чтобы они были перечислены в алфавитном порядке category.name. Это возможно?

Спасибо, Стюарт

1 Ответ

11 голосов
/ 11 сентября 2011

Должно работать, если вы используете: include для быстрой загрузки категорий.

class Order < ActiveRecord::Base
  has_many :items, :include => :categories, :order => "categories.name"
end
...