2014-02-21 50 views

回答

0
my_object.valid? 

此運行驗證,並增加了錯誤的任何失敗,您可以與.errors

一般一個對象是否驗證失敗,你會不會引發異常:異常應該被保存意外問題,而不是預期的問題,如驗證失敗。

+0

好來驗證,但我感興趣的是撫養他們。我使用異常來控制應用程序中的流程。那麼如果你調用'.save!' –

+0

'raise「Validation failed」,除非my_object.valid? 我仍然認爲你不應該這樣做,但是嘿。 –

1

當對象無效時想要引發異常時,可以使用嚴格驗證。 但是你需要在每個驗證中指定嚴格的參數。您也可以傳遞自定義異常以引發嚴格的參數。這是我意識到您的解決方案的唯一途徑。

樣品: validates :name, presence: { strict: true }

你仍然需要object.valid?

http://edgeguides.rubyonrails.org/active_record_validations.html 第4章