簡體   English   中英

save(false)和save(:validate => false)之間的區別

[英]Difference between save(false) and save(:validate => false)

save(false)save(:validate => false)之間有什么區別? 據我所知,功能是一樣的。 使用的版本:validate是在api中讓我相信save(false)是一個棄用的版本? 在我這樣做時,我想到了這個: https//github.com/plataformatec/devise/wiki/How-To : -Create-a-guest-user 該指南已save(false) ,但在使用時遇到錯誤。 我把它切換到:validate版本,並且工作正常。

在3之前的Rails版本中, save ActiveRecord::Base 一個方法 ,您可以將false傳遞給它以繞過驗證。

在Rails 3中, save 被移動ActiveRecord::Persistance ,從那時起你應該傳遞:validate => falsesave以繞過驗證。

當我們使用validate: false時,將跳過模型的所有驗證

@user = User.new(....)

@user.save(validate: false)

動作基地禁用驗證

http://www.dan-manges.com/blog/action-dependent-validations-and-why-on-update-is-bad

跳過字段驗證

https://richonrails.com/articles/skipping-validations-in-ruby-on-rails

class User <ActiveRecord :: Base

validates_presence_of:password,:on =>:update

結束

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM