2012-02-16 45 views

回答

0

跳過驗證聽起來像是一種解決方法。如果您不想驗證的情況下,您最好有條件地調用驗證。這樣它也是可測試的。

這似乎很哈克,但...

def save 
    do_something 
    super 
end 
+0

跳過驗證究其原因,是因爲有些車型與驗證僵持在一起(一個無效的其他改變之前,反之亦然)。 因此,您保存兩個模型沒有驗證,只有然後運行驗證(所有內部交易)。 – Nadav 2012-02-16 13:52:52

+0

順便說一句,這是否意味着Rails不支持在驗證*和*保存之前會發生的回調? – Nadav 2012-02-16 14:57:54

+0

據我所知,沒有。 Rails API按照它們可用的順序列出了可用的回調函數:http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html – 2012-02-16 15:53:58

相關問題