我有一个简单的Rails表单,允许编辑其关联的父级。我想允许用户使用以下方式提交表单的此部分:remote =>为true,以便用户可以添加新父项,然后在表单中其他位置的更新选择菜单中选择父项。正如您在代码中看到的,我向表单的父项部分添加了一个提交按钮,它甚至知道是否要说“创建”或“更新”,但是当我提交它时,整个页面都会刷新,整个表格提交验证等。如何在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 %>
答案 0 :(得分:0)
可能您的问题已在此处How do you submit a rails 3 form without refreshing the page?
得到解答如果这没有帮助,您可以尝试使用preventDefault()将其附加到提交按钮。