Есть ли более независимый от базы данных способ написать эту область по умолчанию в Rails 3? - PullRequest
0 голосов
/ 22 июля 2011

У меня есть следующая область действия по умолчанию, определенная в одной из моих моделей

default_scope order("IF(format = #{FORMATS[:wide]}, 1, 0) DESC, created_at DESC, name ASC")

Она отлично работала на моей машине разработчика, где я использую MySQL, но не работала при развертывании на производстве, где мы используем postgres.Есть ли способ написать это, используя Arel вместо прямого SQL?FORMATS[:wide] возвращает целое число, но оно может быть не в каком-то определенном порядке.Я просто хочу, чтобы записи с этим конкретным format были возвращены первыми.

1 Ответ

0 голосов
/ 22 июля 2011

Я бы не стал помещать это в SQL вообще.Я, вероятно, сделал бы область видимости для каждого типа формата, а затем использовал бы Ruby, чтобы определить, какой использовать.Или создайте метод, который определяет порядок сортировки и передает его везде, где вы его используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...