Драгоценный камень Кокон передает форму дважды

#ruby-on-rails #cocoon-gem

Вопрос:

Я использую драгоценный камень Кокон для создания динамической формы. Все работает нормально. Я могу добавлять новые записи, удалять записи. Но моя форма и кнопка отправки отображаются дважды. Я проверил application.html.erb файл макета и не добавил coccon в свой файл макета.

Способ, которым я добавил драгоценный камень coccon, я добавил gem coccon в файл Gemfile, а затем добавил coccon с помощью пряжи yarn add @nathanvda/cocoon и добавил следующую строку в application.js файл

 require("jquery") require("@nathanvda/cocoon")  

Мой вид формы выглядит так, как показано ниже (это форма, которая отображается дважды)

 lt;%= form_with model: @user do |f| %gt;  lt;%= f.fields_for :work_experiences do |work_experience| %gt;  lt;div id='work_experiences'gt;  lt;%= render "work_experience_fields", f: work_experience %gt;  lt;/divgt;  lt;%= link_to_add_association 'add more work experience', f, :work_experiences, data: { association_insertion_node: '#work_experiences', association_insertion_method: :append } %gt;    lt;%= f.submit 'Update Work Experience' %gt;  lt;% end %gt; lt;% end %gt;  

Моя частичная _work_experience_fields часть выглядит так, как показано ниже:

 lt;%= f.label :job_tile, 'Job Title' %gt;  lt;%= f.text_field :job_title, placeholder: 'Enter Job Title' %gt;  lt;%= f.label :company_name, 'Company Name' %gt;   lt;%= f.text_field :company_name, placeholder: 'Enter Company Name' %gt;  lt;%= link_to_remove_association "remove task", f %gt;  

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

Ответ №1:

Ваша форма должна выглядеть так: в принципе, вам нужно закрыть fields_for цикл.

 lt;%= form_with model: @user do |f| %gt;  lt;div id='work_experiences'gt;  lt;%= f.fields_for :work_experiences do |work_experience| %gt;  lt;%= render "work_experience_fields", f: work_experience %gt;  lt;%end%gt;  lt;/divgt;  lt;%= link_to_add_association 'add more work experience', f,   :work_experiences, data: { association_insertion_node:   '#work_experiences', association_insertion_method: :append } %gt;    lt;%= f.submit 'Update Work Experience' %gt;    lt;% end %gt;