У меня есть таблица соединений с простой формой. С вложенным has_many: через ассоциацию. Я добавляю умноженные объекты с помощью кокона.
Это выглядит так:
<%= v.simple_fields_for :document_place_rooms do |vf| %>
<%= render partial: 'document_place_room', locals: {f: vf, document: document} %>
<% end %>
Если все объекты действительны, все будет хорошо, с порядком по умолчанию.
Но, если один из объектов недействителен, просчитайте: отредактируйте шаблон, и недопустимый объект сортирует последний в списке. Независимо от того, где будет порядок при создании, он рендерится последним, если он недействителен, и перерисовывается в шаблоне редактирования.
Я думаю, это происходит потому, что порядок по умолчанию - по идентификатору, но если объект не сохранен (недействительный), у него нет идентификатора, и он выдвинул последний из списка. Я пытаюсь изменить область по умолчанию для модели соединения, но безрезультатно.
Помогите, пожалуйста, как мне отсортировать объекты, у которых нет идентификаторов, и поместить их первыми в списке вложенных объектов?