我们以前在Rails 2.3.5应用程序中有一个表单,如下所示,它完美地运行
<% form_for @quote do |f| -%>
<%= f.text_field :length %>
<%= f.text_field :tax, :readonly => true %>
<%= submit_to_remote 'commit', 'Calculate', :url => { :action => 'create' } %>
<%= submit_tag 'Submit' %>
<% end %>
基本上,“计算”按钮会将表单作为XMLHttpRequest请求提交,而“提交”按钮则会执行简单的POST。是否可以在Rails 3应用程序中执行此操作?
答案 0 :(得分:3)
将:remote => true
添加到您的form_for
选项,以生成包含data-remote="true"
的表单,Rail Unobtrusive JavaScript将通过AJAX提交。
<% form_for @quote, :remote => true do |f| %>
<%= f.text_field :length %>
<%= f.text_field :tax, :readonly => true %>
<%= submit_tag 'Submit' %>
<% end %>
如果JavaScript可用,表单将通过AJAX提交,否则将回退到常规表单。