Учитывая следующие модели AR, я хотел бы отсортировать пользователей в алфавитном порядке по фамилии при предоставлении дескриптора задаче:
#user
has_many :assignments
has_many :tasks, :through => :assignments
#assignment
belongs_to :task
belongs_to :user
#task
has_many :assignments
has_many :users, :through => :assignments
Я хотел бы получить задачу тогда навигация ее назначенным пользователям и отсортировать список пользователей в алфавитном порядке.
Я продолжаю думать, что я должен быть в состоянии добавить :order
пункт к has_many :users, :through => :assignments
как это:
#task.rb
has_many :assignments
has_many :users, :through => :assignments, :order => 'last_name, first_name'
однако это не работает.
Как я могу отсортировать пользователей по last_name
при предоставлении задачи?
Сработает ли это для вас?
# User.rb
class User < ActiveRecord::Base
default_scope :order => 'last_name ASC'
...
end
Вы можете определить другие именованные области, когда сортировка должна быть другой.
http://ryandaigle.com/articles/2008/11/18/what-s-new-in-edge-rails-default-scoping