防止Rails中的记录重复

时间:2016-04-13 18:58:52

标签: ruby-on-rails ruby activerecord simple-form

我确实没有任何示例,但我的表单在我的ActiveRecord数据库中创建了新记录,除了给定的ID之外,它们实际上没有任何唯一属性。我注意到用户正在提交他们的表单,但意识到他们错误输入了某些内容,因此他们一直按下浏览器的后退按钮并重新提交相同的内容,这会导致该记录的重复。

我想阻止这种情况发生,没有必要发布代码,我只想提出一些建议。

谢谢!

1 个答案:

答案 0 :(得分:1)

在记录的模型中,添加唯一性验证,详见this Rails Guide。您可以在该验证上应用范围,以便使用多个记录属性确定唯一性。

或者,如果您确实不想将这些记录标记为唯一,请为用户添加一种简单的方法,以便将其提交更新到帖子记录创建页面。即他们添加了一条新记录,编辑该记录的能力立即在他们的视图中弹出,这样他们就可以更新他们刚刚创建的记录,而不是回击并创建新记录。