Rails глубокие вложенные формы link_to_add
У меня есть модель, где вы можете добавить много вопросов (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 в вложенная форма, есть ли исправление для этого?
Похоже, что nested_form
gem больше не поддерживается (как другие драгоценности Ryan Bates). Здесь открывается запрос на pull с исправлением, которое решает вашу проблему.
В качестве альтернативы я предлагаю вам еще один камень для обработки вложенных форм, Cocoon.
- Вопросы
- Nested-forms
- Rails глубокие вложенные формы link_to_add