1
我在我的用戶模型編寫可選的驗證。基於哪個用戶註冊步驟。我剛剛開始構建它。我得到的錯誤是:驗證在軌3
You need to supply at least one attribute
我增加了一個驗證,以我的模型:
with_options :if => lambda { |u| u.current_step == "first" } do |user|
user.validates :preference_missing? => true
end
如果我更改爲:
with_options :if => lambda { |u| u.current_step == "first" } do |user|
user.validates :preference_missing?
end
我仍然得到同樣的錯誤。但是,如果我將其更改爲:
validate :preference_missing?
我沒有得到關於提供至少一個屬性的錯誤。但是由於我對每一步都進行了驗證,所以這將起作用,但工作不正確。
有人能指出我在哪裏犯錯與當前的驗證?
我的首選方法是:
private
def preference_missing?
unless self.certificate? || self.ownership? || self.other?
self.errors.add(:your_preference, "must be filled in.")
end
end