Как я заказываю has_many через ассоциацию в Ruby on Rails?

Учитывая следующие модели 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 при предоставлении задачи?

58
задан rswolff 5 February 2010 в 07:26
поделиться

1 ответ

Сработает ли это для вас?

# 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

7
ответ дан 24 November 2019 в 18:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: