Можно ли отсортировать «встроенную» запись в виде рельсов? - PullRequest
0 голосов
/ 24 апреля 2018

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

Что я хотел бы знать, так это возможность сортировки объектовколлекция атрибутов, основанная на некотором значении в коллекции?

Например, в действии редактирования моего кода у меня есть

  def edit
    Size.all.each do |size|
      unless @cake.sizes.exists?(size.id)
        @cake.cake_details.build(size_id: size.id, price: nil)
      end
    end
    @cake_details_collection = @cake.cake_details.order(:size_id)
  end

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

Кроме того, причина, по которой у меня это, как указано выше, заключается в том, что в действии обновления я удаляю любую связь, когда флажок снят, а поле text_field оставлено пустым.

Это раздел моей формы, относящийся к выше:

<div class="field">
  <%= form.fields_for :cake_details do |details| %>
      <%= details.check_box :size_id, {}, details.object.size_id %><br />
      <%= details.text_field :price %><br />
  <% end %>

Все остальное до сих пор работает для уничтожения родительского объекта и для создания.Я почти там или в миллионе миль?

1 Ответ

0 голосов
/ 25 апреля 2018

Прогресс! Поэтому я не знал, что смогу отсортировать поля в форме ниже

<div class="field">
  <%= form.fields_for :cake_details, @cake.cake_details.sort_by(&:size_id) do |details| %>
      <%= details.check_box :size_id, {}, details.object.size_id %><br />
      <%= details.text_field :price %><br />
  <% end %>
...