2016-05-17 59 views
0

我有一个网站,有时我得到重复的记录发生并看着日志它是由两个重复的表单在100-200毫秒内提交对方。在这种情况下,有没有办法让rails拒绝第二种形式?在rails中处理重复的表格

回答

0

不是。你可以做的是在提交后禁用“提交”按钮,这样可以减少用户提交两次的可能性。

在Rails中,您可以使用disable_with设置,该设置使用jQuery在提交后禁用按钮。

请参阅Rails 4: Disable submit button after click

2

除了使用js禁用表单,您还可以生成一个只能用于表单的随机标记。假设您为生成一个随机数的金融交易创建了一个关键对象,并将其与生成的对象一起存储,并且该对象使用唯一约束来支持。

如果再次提交相同的表单,则由于受到违反的唯一约束而引发异常,您可以相应地处理该异常。