我有一个简单的显示 - form_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 %>
所需的行为必须是:
我向有经验的开发人员提问:
1.在主表单上的部分帮助列表中可以使用AJAX。如果是的话,请帮助。我在SO上找到的所有AJAX代码和Google都在数据库中提交,而不是简单地列出来。
2.如果使用主窗体中的按钮再次重新加载部分,可以提交部分帮助以简单列出值?
答案 0 :(得分:0)
好的,所以我终于解决了这个问题,这将对未来的访问者有所帮助。通过进行2次更改,这两个想法都被写入Stackoverflow开发人员的2个不同问题: -
对你们俩来说。所以,最后我的渲染调用的主要形式现在看起来:
<%= 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点击按钮列出部分字段。已发布问题now on StackOverflow。
更新
: 我在link发布了完整的答案。