2008-10-02 87 views
4

我有一個基本的ActiveRecord模型,其中我有兩個字段,我想驗證。要求至少有一個字段必須有值。兩者都可以有價值,但至少有一個需要價值。RoR:模型驗證問題

我如何表達這種與

validates_presence_of 

報表?例如:

validates_presence_of :main_file 
validates_presence_of :alt_file 

我不想要生成一個錯誤,如果其中只有一個是空的,只有兩者都是空的。

回答

5
validates_presence_of :main_file, :if => Proc.new { |p| p.alt_file.blank? } 
validates_presence_of :alt_file, :if => Proc.new { |p| p.main_file.blank? } 
+0

「空白?」而不是「nil?」不是更好嗎? – 2008-10-02 14:18:16

3

改變.nil?到.blank?訣竅!