我有一個與attr_accessor
模型,我給這個attr_accessor添加一個錯誤。它爲什麼有效?下面的代碼是自解釋的,我想:Rails認爲與attr_accessor模型是有效的,但它不
class Dealer < AR::Base
attr_accessor :keyword_data
def keyword_data=(file)
begin
parse_values(file)
rescue CSVKeywordsParser::ReadError => e
errors.add(:keyword_data, e.message)
end
end
end
>> dealer.errors
=> #<ActiveModel::Errors:0x007ff586359610 @base=#<Dealer id: 6, name: "Something">, @messages={}>
>> dealer.errors.any?
=> false
>> dealer.add :keyword_data, "xxx"
=> ["xxx"]
>> dealer.errors
=> #<ActiveModel::Errors:0x007ff586359610 @base=#<Dealer id: 6, name: "Something">, @messages={:keyword_data=>["xxx"]}>
>> dealer.errors.any?
=> true
>> dealer.valid?
=> true
我如何添加錯誤attr_accessor
將通過activemodel的跟蹤,所以,dealer.valid?
將返回false
(因爲它是需要)?
'有效?'運行的所有驗證。爲了用'valid?'返回有意義的值,你必須爲你的模型添加驗證。 – sugaryourcoffee