Rails используя REVERSE? - PullRequest
       2

Rails используя REVERSE?

1 голос
/ 06 ноября 2010

В моем представлении фотографий приложения Rails 3 есть следующее:

<% for version in @photos.first.versions.reverse %>
 .
 .

Что интересно, это то, что на моем локальном компьютере это работает так, как хотелось бы, при выводе (<% = version.version%>)

5
4
3
2
1

Но на Героку все наоборот

1
2
3
4
5

Это Heroky, или, может быть, реверс глючит? спасибо

Ответы [ 2 ]

1 голос
/ 07 ноября 2010

Не знаю, версия ли это для Ruby. У меня были такие же проблемы, и я связал эту проблему с тем, что Heroku использует PostgreSQL, а в разработке я использую SQLite. Я также думаю, что это конкретно связано с тем, как Postgres упорядочивает объекты при вызове через ассоциацию. Таким образом, порядок будет таким же для

Photos.all

но отличается для

Photos.first.versions.all

В итоге я использовал стандартные области действия для некоторых моделей, чтобы они всегда упорядочивались определенным образом.

Будьте осторожны с default_scope. Если вы попытаетесь применить другую область упорядочения к модели, в которой default_scope задает порядок, порядок default_scope будет иметь прецедент. Я думаю, что патчи работают над этим. Но до тех пор вы должны использовать «unscoped»

default_scope order('created_at ASC')
scope :recent, unscoped.order('created_at DESC')
0 голосов
/ 06 ноября 2010

У меня были разные вещи на локальном и производственном уровне, на таких хостах, как heroku, и я думаю, что это в основном версия ruby, но я обычно просто хочу исправить вещи и взломать, пока не получу исправление.

Что я могу вам сказать, так это то, что вам может потребоваться добавить ! к вашему обратному методу, потому что вы не задаете здесь никаких переменных.

<% for version in @photos.first.versions.reverse! %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...