Rails远程真实表单提交表单多次

时间:2019-06-16 20:40:11

标签: ruby-on-rails ruby ajax ruby-on-rails-4

使用rails形式的remote:true进行提交。 但是我面临的问题是,有时它的提交表单会多次。

我在某处读到它可能是由于// = require jquery_ujs

application.js

// = require v1/jquery-2.1.1.min
// = require jquery_ujs
// = require v1/spritespin.min
// = require v1/slick.min
// = require v1/bootstrap.min
// = require v1/bootstrap-editable.min
// = require turbolinks

Rails版本为4.2.10

如何解决此问题?

1 个答案:

答案 0 :(得分:-1)

API中,如果您使用submit_tagbutton_tag(您可以阅读api)。默认情况下,用户不能两次提交表单。

但是,在这种情况下,如果您的用户点击了“提交”按钮,则最好添加一个“等待”状态

submit_tag "Complete sale", data: { disable_with: "Submitting..." }
button_tag "Complete sale", data: { disable_with: "Submitting..." }

以另一种方式,您可以防止控制器中出现此行为。因此,如果您的用户的互联网速度较慢,他们会两次按下按钮,可以再次执行js response,但是如果已经找到数据,您就不会对数据库执行任何操作