我試圖用一個validates_with
驗證,一些代碼,確保兩個標誌不同時爲真:Rails的validates_with錯誤:屬性不能爲空
validates_with ConfirmationValidator
class ConfirmationValidator < ActiveModel::Validator
def validate(record)
if record.confirmed_good && record.confirmed_bad
record.errors[:base] << "Record is both confirmed and confirmed_bad"
end
end
end
但在嘗試使用此得到以下錯誤:
gems/activemodel-3.0.7/lib/active_model/validator.rb:142:in `initialize': :attributes cannot be blank (RuntimeError)
通過文件尋找使它看起來像,這是由於通過選擇一些問題,但我還是不太知道什麼錯。有任何想法嗎?
請發佈您的型號代碼的其餘部分。第142行的錯誤與EveryValidator有關。 https://github.com/rails/rails/blob/master/activemodel/lib/active_model/validator.rb – Gazler
只是一個設計評論在這裏 - 確認可能只是一個布爾值是真或假,問題消失 或confirmed_bad可能只是一種返回的方法!confirmed_good? – Ghoti