ruby-on-rails – 如何使用find_or_create_by_跳过验证?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何使用find_or_create_by_跳过验证?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以使用动态查找/创建方法跳过验证?

例如,通过常规保存,我可以执行以下操作:

p = Post.new
p.title = nil
p.body = nil
p.save(:validate => false)

很想用find_or_create_by_title做同样的事情.

解决方法

使用 code in Rails right now看起来很可能,但是如果你编写代码的话,你可能会有更好的运气.您可以使用find_or_initialize_by_创建新对象但不保存它.然后您可以使用自定义选项调用save,同样在 documentation中他们有一个很难找到的简洁演示,所以我将在下面包含它:
# No 'Winter' tag exists
winter = Tag.find_or_initialize_by_name("Winter")
winter.new_record? # true

祝你好运,如果你需要更多关于正确方向的指示,请告诉我.

猜你在找的Ruby相关文章