我有一个模型,您可以在其中添加许多问题(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
当我在遇到很多问题时尝试添加选项时会出现问题,通过在Pergunta的第二个实例中单击alternativa对象link_to_add,它会将Alternativa text_field添加到第一个Pergunta对象,从而无法将Alternativas添加到许多嵌套形式的特定Perguntas,有没有解决这个问题?
答案 0 :(得分:3)
看起来不再支持nested_form
gem了(作为另一个Ryan Bates宝石)。这是opened pull request with fix that solves your problem。
作为替代方案,我建议您使用另一个宝石处理嵌套表单Cocoon。