2017-02-24 78 views
0

我有一個簡單的顯示 - form_for呈現另一個部分與form_for顯示教育資格的應用程序。部分是多態的。所以,現在我有2個提交,主要提交根本沒有迴應和部分作品....爲什麼?請注意,代碼適用於一條記錄,但需要按部分表單提交。請幫忙。Rails的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. 部分顯示可顯示本科/碩士/博士學位投寄盒和 另一文本字段接受合格的姓名
  2. ab utton/link - '添加更多資格'列出資格,但不提交給數據庫。
  3. 只有主窗體按鈕應該最終提交表單到應用程序中。

我的問題,有經驗的開發:

1.可在AJAX部分幫助列表中向下的主要形式。如果是的話,如何幫助。所有AJAX代碼,我找到了SO和谷歌提交數據庫,而不是簡單地列出。

2.替代重新加載部分再次使用主窗體上的按鈕可以提交部分幫助簡單列出值?

回答

0

好吧,所以我終於解決了它,這將有助於未來的遊客。通過使2個同時改變想法都記入開發者#1 2個不同的問題: -

  1. Form_for inputs and submit button in different partials - @Anand
  2. Rails passing form_for object to partial - @ D.Patrick

THX你們兩個。所以,最後我與渲染調用主要形式現在看起來:

<%= 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的點擊按鈕列出部分fields.Have發佈問題。

UPDATE

: 我張貼的完整的答案,在這個link

相關問題