Как визуализировать поля, созданные сгенерировать link_to_add_association после этой ссылки (не раньше)? - PullRequest
0 голосов
/ 21 января 2019

У меня проблема с link_to_add_association в simple_form_for: дополнительные поля добавляются перед link_to_add_association, и уже существует поле, отображаемое после этой ссылки. Google ничего не говорит об этом, поэтому я надеюсь на любую помощь ...

вот мой код:

= link_to_add_fields "Add image", f, :attachments
.attach
    = f.simple_fields_for :attachments, html: {multipart: true} do |d|
      = render "attachment_fields", {f: d, item: "Main"}

А вот моя форма attachment_fields:

.nested-fields
    = f.input :id, as: :hidden
    = f.input :file, as: :file, label: false, input_html: {value: f.object.file || ""}
    = f.input :_destroy, as: :boolean, label: "Delete", checked_value: "1", unchecked_value: ""
    = f.simple_fields_for :metadata do |field|
        = field.input :section, as: :hidden, input_html: {value: f.object.metadata["section"]}
        = field.input :comment, as: :text, label: "Comment", input_html: {value: f.object.metadata["comment"]}

Я уже пытался написать свой собственный link_to_add_fields, но, кажется, он делает то же самое:

  def link_to_add_fields(name, f, association)
    new_object = f.object.send(association).klass.new
    id = new_object.object_id
    fields = f.fields_for(association, new_object, child_index: id) do |builder|
      render(association.to_s.singularize + "_fields", f: builder)
    end
    link_to(name, '#', class: "add_image_fields", data: {id: id, fields: fields.gsub("\n", "")})
  end
...