3
什麼是正確的書寫方式?validates_uniqueness_of ...除非
validates_uniqueness_of :a, :scope => [:b, :c], :unless => !d.nil?
什麼是正確的書寫方式?validates_uniqueness_of ...除非
validates_uniqueness_of :a, :scope => [:b, :c], :unless => !d.nil?
它很簡單:
validates_uniqueness_of :a, :scope => [:b, :c], :unless => :d
只是傳遞一個Proc
返回true或false到:if
或:unless
選項:(這裏假定d
是模型的屬性或方法)
validates_uniqueness_of :a, :scope => [:b, :c], :unless => Proc.new { |obj| !obj.d.nil? }
validates_uniqueness_of :a, :scope => [:b, :c], :if => Proc.new { |obj| obj.d.nil? }
中當然,這不是唯一性的完美保證。默認情況下,存在可能允許重複的競態條件。有關更多信息,請參閱documentation。
你可以用'd.present取代'd.nil''!?。更容易閱讀。 – Eimantas 2010-07-01 03:31:55