Rails глубокие вложенные формы link_to_add

111
12

У меня есть модель, где вы можете добавить много вопросов (perguntas) в форму Oportunidade, затем вы можете добавить столько вариантов (alternativas) по мере необходимости на вопрос, который будет использоваться в качестве возможных ответов в форме кнопок/флажков, здесь форма Просмотры:

_perguntas.html.erb

<div id="perguntas">
<%= f.fields_for :perguntas do |m| %>
<div class="field">
<% tipo = m.object.tipo_pergunta.blank? ? 'Resposta aberta' : m.object.tipo_pergunta %>
<%= m.input :tipo_pergunta, as: :radio_buttons, label: "Tipo de Pergunta" %>
</div>
<div class="field plus-field">
<%= m.input :pergunta , :label=> false , :placeholder => "Escreva uma pergunta" %>
</div>
<%= m.link_to_remove "-",:class => "link-add-field" %>
<div class="field alternativa-field">
<%= field_alternativa(m, entidade) %>
</div>
<% end %>
</div>
<div class="adiciona-botao-field ">
<div class="field plus-field">
<%= f.link_to_add "+", :perguntas, :class => "link-add-field", 'data-target' => '#perguntas' %>
</div>
</div>

_alternativas.html.erb

   <div class="field alternativa-field">
<div id="alternativas">
<%= m.fields_for :alternativas do |a| %>
<%= a.input :resposta, :placeholder => 'Alternativa', label: false %>
<%= a.link_to_remove "-",:class => "link-add-field" %>
<% end %>
</div>
<div class="adiciona-botao-field ">
<div class="field plus-field">
<%= m.link_to_add "+", :alternativas, :class => "link-add-field", 'data-target' => '#alternativas'%>
</div>
</div>
</div>

oportunidades_controller.rb

 def new
@oportunidade = Oportunidade.new
perguntas = @oportunidade.perguntas.build
perguntas.alternativas.build

Проблема возникает, когда я пытаюсь добавить параметр, когда у вас много вопросов, щелкнув объект alternativa link_to_add во втором экземпляре Пергунта, он добавляет текстовое поле Alternativa к первому объекту Perguntta, что делает невозможным добавить Alternativas для многих конкретных Perguntas в вложенная форма, есть ли исправление для этого?

спросил(а) 2021-01-12T15:25:42+03:00 1 неделя, 3 дня назад
1
Решение
84

Похоже, что nested_form gem больше не поддерживается (как другие драгоценности Ryan Bates). Здесь открывается запрос на pull с исправлением, которое решает вашу проблему.

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

ответил(а) 2021-01-12T15:25:42+03:00 1 неделя, 3 дня назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема