Нет, это действительно не возвращает вещи в порядке их последнего сохранения. То, что вы видите, является совпадением. Когда оптимизатор запросов в базе данных выбирает другой план выполнения, строки возвращаются в другом порядке. (Если нет явного ORDER BY.) И есть множество причин для выбора другого плана, наиболее распространенным из которых является изменение количества строк в таблице.

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

Как правило, записи получаются так:

>> Model.all

=> [<model id: 2>,<model id: 1>,<model id: 3>,<model id: 4>,<model id: 5>]

... и так далее.

Если я явно позвонюModel.order("id ASC") возвращает модели, как и ожидалось.

Что дает? Почему бы найти все не вернуть объекты в порядке убывания идентификатора?

Ответы на вопрос(4)

Ваш ответ на вопрос