如何在Rails 3中提交_to_remote

时间:2012-08-02 18:45:54

标签: jquery ruby-on-rails ruby-on-rails-3 form-for

我们以前在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应用程序中执行此操作?

1 个答案:

答案 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提交,否则将回退到常规表单。