2012-02-22 96 views
0

我有一個簡單的Rails窗體,允許編輯其關聯的父窗體。我希望允許用戶使用:remote => true提交表單的這一部分,以便用戶可以添加一個新的父級,然後在表單中其他位置的更新選擇菜單中選擇父級。正如你在代碼中看到的,我向表單的父母部分添加了一個提交按鈕,它甚至知道是否要說「創建」或「更新」,但是當我提交時,整個頁面都會刷新,整個頁面表單提交驗證等等。我如何在Rails中完成我想要的功能?如何在不提交整個表單的情況下在Rails中遠程提交表單的關聯部分?

這裏是有問題的代碼:

<%= form_for @sermon, :html => { :multipart => true } do |f| %> 
    <div class="field"> 
    <%= f.label :title %><br /> 
    <%= f.text_field :title %> 
    </div> 
    <div class="field"> 
    <%= f.label :date %><br /> 
    <%= f.text_field :date %> 
    </div> 
    <div class="field"> 
    <%= f.label "Speaker" %><br /> 
    <%= f.select :speaker_id, Speaker.all.collect {|p| [ p.name, p.id ] }, {:include_blank => true} %> 
    </div> 
    <% @sermon.build_speaker unless @sermon.speaker %> 
     <%= f.fields_for :speaker, :remote => true, :html => {:data_type => 'html', :id => 'create_speaker_form'} do |g| %> 
      <%= g.label :name, "Or, add a new speaker:" %><br /> 
      <%= g.text_field :name %> 
      <%= g.submit %> 
     <% end %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 

回答

相關問題