我有一个简单的显示 - form_ for for for for form_for form_for for form_for显示教育资格。部分是多态性的。因此,现在我有2个提交,主要提交根本没有响应,而部分作品。...为什么?请注意,代码可用于一张记录,但按下部分表格提交。请帮助。
<%= bootstrap_form_for @application do |f| %>
<div class="panel panel-default">
<div class="panel-heading"> Education: </div>
<div class="panel-body">
<%= render partial: "degrees/form", :locals => { :degreeable => @application, :f => f } %> <br>
<%= f.link_to (fa_icon 'plus').to_s + " Add Another Qualification ", render(:partial => 'degrees/form', :locals => { :degreeable => @job, :f => f }), class: "btn btn-primary" %>
</div>
</div>
<% end %>
部分form_for是:(注意:我什至在主形式上提交并使用了link_to,如上所述,但仍然没有效果。
<%= form_for [degreeable, Degree.new], :url => { :action => "index" } do |f| %>
<div class = "form-group" }>
<%= f.select :level, options_for_select(Application::EDUCATION, params[:level]), include_blank: "Select Degree", class: 'span-2' %>
<%= f.text_field :description, :class => 'span5' %>
</div>
f.submit "Add Another Degree", class: 'btn btn-primary'
<% end %>
所需的行为必须是:
- 部分显示以显示带有学士/Master/Ph.D的Drop Box和接受资格名称的另一个文本字段。
- 一个按钮/链接 - '添加更多资格'在列出资格的情况下,而无需提交DB。
- 只有主要表单按钮应最终提交表单以供DB申请。
我给经验丰富的开发人员的问题:
1.可以在主要形式的部分帮助列表中进行ajax。如果是,请有什么帮助。我在So上找到的所有AJAX代码,Google在DB中提交,而不是简单地列出。
2.再次使用主形式的按钮再次重新加载部分可以提交部分帮助时简单地列出值?
好的,所以我终于解决了它,这对未来的访客很有帮助。通过做出2个更改,两个想法都将其归功于两个不同问题的stackoverflow开发人员: -
- form_for输入并在不同部分中提交按钮 - @Anand
- rails将form_ for to to partial传递到部分 - @d.patrick
对你们两个。因此,终于,我现在使用渲染通话的主要形式现在看起来:
<%= bootstrap_form_for @application do |f| %>
*Many other application fields but irrelevant here.*
<div class="panel panel-default">
<div class="panel-heading"> Education: </div>
<div class="panel-body">
<% @form = f %>
<%= render partial: "degrees/form", :locals => { :degreeable => @application, :f => @form } %> <br>
<%= f.link_to (fa_icon 'plus').to_s + " Add Another Qualification ", render(:partial => 'degrees/form', :locals => { :degreeable => @application, :f => f }), class: "btn btn-primary" %>
</div>
</div>
<%= f.submit class: "btn btn-primary btn-outline btn-sm" %>
<% end %>
并渲染部分形式:
<%= f.fields_for [degreeable, Degree.new], :url => { :action => "index" } do |ff| %>
<div class = "form-group" }>
<%= ff.select :level, options_for_select(JApplication::EDUCATION, params[:level]), include_blank: "Select Degree", class: 'span-2' %>
<%= ff.text_field :description, :class => 'span5' %>
</div>
<% ff.submit "Add Another Degree", class: 'btn btn-primary' %>
<% end %>
,但仍然被js/jquery of单击按钮列出部分字段。现在已经在Stackoverflow上发布了一个问题。
更新
:我在此链接上发布了完整的答案。