保持在新对象未通过唯一性验证时找到的ID

时间:2011-09-18 21:46:41

标签: ruby-on-rails ruby-on-rails-3.1

我一直试图解决这个问题,我似乎无法弄清楚如何做到这一点。我希望在request.env中有一个值,我可以使用,或者用一些明显的方法来覆盖唯一性验证器来实现这一点,但是我无法得到它。

因此,当唯一性验证器失败时,我希望能够使用db中的重复信息捕获记录的id,这样我就可以使用它了。有没有人这样做过?

1 个答案:

答案 0 :(得分:0)

您可以使用find_or_create_by而不是弄乱验证器。它将使用旧对象(如果它已经存在),或者如果它不存在则创建一个新对象 - 并且它为您完成所有工作!

希望这有帮助!

PS:这是Official Rails Docs - 您想要的部分是“基于动态属性的查找器”,稍微向下一点。我只是认为第一个链接更有用......