2011-05-24 41 views
0

我有一個自定義驗證。 我希望當驗證失敗時,它會停止保存對象。如何在不添加錯誤的情況下停止保存對象?紅寶石在軌道上問題

如何在不向對象添加錯誤的情況下(error.add(:attribute))?

謝謝,

烏迪德

+1

爲什麼你不想在驗證失敗時添加錯誤?如果它不與一個屬性關聯使用add_to_base – Yule 2011-05-24 10:53:56

+0

謝謝add_to_base完成了這項工作! – 2011-05-24 10:59:31

回答

0

有在ActiveModel::Validationsvalid?invalid?定義了兩種方法。這些方法取決於在驗證失敗的情況下填充的錯誤對象。

我不明白你爲什麼要重寫該行爲。但是,要回答這個問題,您可以實現的一種方法是在要驗證的類中定義一個布爾屬性,並在驗證中將其設置爲true或false。根據該屬性保存或不保存。