防止 Rails 中的记录重复

Prevent record duplication in Rails

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

我想防止这种情况发生,不需要post代码,我只是想要一些建议。

谢谢!

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

或者,如果您真的不想将这些记录标记为唯一,请为用户添加一种简单的方法来更新他们对 post 记录创建页面的提交。也就是说,他们添加了一条新记录,编辑该记录的能力会立即出现在他们的视图中,这样他们就可以更新刚刚创建的记录,而不是回击并创建新记录。