Я выполняю некоторое обслуживание в приложении Rails 2 с использованием Ruby 1.8.7. Я использую will_paginate.Будет ли Paginate заказывать по определенным столбцам, но не по другим столбцам на модели
У меня есть следующая проблема: При вызове current_user.products.paginate (: страница => 1,: заказ => "updated_at возрастанию") упорядочивает, как и ожидалось, на основании свойства updated_at в продуктах.
Однако при вызове current_user.products.paginate (: page => 1,: order => "released_at asc") он не заказывает на release_at, как ожидалось. На самом деле не имеет значения, укажу ли я, чтобы упорядочение выполнялось в соответствии с «asc» или «desc», я получаю ту же самую коллекцию.
updated_at и released_at - оба атрибута, определенные в модели и существующие в базе данных, и все значения не равны нулю. На моделях не определено default_scope.
Что может быть причиной этого и как исправить это?
Добавление продуктов DESc ниже (для краткости я только перечисления соответствующих полей):
| Поле | Тип | Null | Ключ | По умолчанию | Экстра |
| released_at | datetime | ДА | | NULL | |
| updated_at | datetime | ДА | | NULL | |
Было бы неплохо увидеть sql-запрос из журнала. –
SQL-запрос из нерабочего оператора paginate в журнале: SELECT * FROM 'products' WHERE (' products'.partner_id = 171) ORDER BY released_at desc LIMIT 0, 50 и SQL-запрос из рабочей таблицы statemnet в журнале: SELECT * FROM ' продукты 'WHERE (' products'.partner_id = 171) ORDER BY updated_at desc LIMIT 0, 50. – Stanley
Вы также можете использовать продукты DESC из mysql, чтобы мы могли видеть типы данных? – Ivan