Rails 3:表单提交两次

Abh*_*nav 7 forms ruby-on-rails formtastic

我正在开发一个Rails应用程序,其中包含使用formtastic生成的表单.我在本地开发和测试 - 就是在localhost:3000 w/Ruby-1.9.2,Rails-3.0.1,jQuery和AJAX.

下面是我看到的问题的示例屏幕输出.我的表单在1秒内相互提交两次.我不明白为什么会这样.我看到这个问题与所有请求 - 包括GET.

  1. 在2011-01-07 02:31:47开始POST"/ commerce/6/edit_balance"for 127.0.0.1 +0530由BusinessesController处理#edit_balance作为JS参数:{"utf8"=>"✓","authenticity_token"= > "zcWH08sV8kPbAYy7JQX64Cu2e1i/kEB1AB4x5a08CO8 ="

  2. 在2011-01-07 02:31:48开始POST"/ commerce/6/edit_balance"for 127.0.0.1 +0530由BusinessesController处理#edit_balance作为JS参数:{"utf8"=>"✓","authenticity_token"= > "zcWH08sV8kPbAYy7JQX64Cu2e1i/kEB1AB4x5a08CO8 ="

所以我想知道我是否犯了一个基本的编程错误.如果是的话,那么请您提出一些我可以尝试的解决方案.

Ami*_*bin 8

在部署到Heroku之后我就遇到了同样的问题...我预先编译了我的资产,突然间我得到了双重AJAX提交.我想我不知何故最终在公共/资产中出现了重复的javascript文件.

为了解决这个问题,我刚刚删除了我的整个公共/资产目录.


pol*_*lau 1

如果您使用 Javascript 提交表单,请尝试将提交按钮设置为在提交表单时禁用。使用 jQuery 会是这样的(未测试):

$('form').submit(function(){
  $(this).find(input[type='submit']).attr("disabled", "true");
  ... // submit form via AJAX
  return false;
});
Run Code Online (Sandbox Code Playgroud)