Моя модель рельсов не будет правильно упорядочивать записи, почему? - PullRequest
0 голосов
/ 22 октября 2011

У меня есть модель рельсов со следующими областями применения:

 default_scope order('created_at ASC')
 scope :published, order('created_at DESC').where(:draft=>false)

К сожалению, опубликованная область не упорядочит записи в порядке убывания.

Я неправильно пишу эту область?

Ответы [ 2 ]

1 голос
/ 22 октября 2011

Ваша область по умолчанию все еще будет срабатывать; Вы можете либо .reorder, явно получить Foo.unscoped.published, либо использовать with_exclusive_scope.

См. этот вопрос SO для получения более подробной информации, включая еще один вопрос SO с дополнительной информацией.

1 голос
/ 22 октября 2011

Я считаю, что область действия :published не перезапишет порядок по умолчанию, если вы не используете reorder:

http://guides.rubyonrails.org/active_record_querying.html#reorder

Попробуйте

scope :published, where(:draft=>false).reorder('created_at DESC')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...