Не знаю, версия ли это для 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')