我似乎在我的rails应用程序中损坏了validates_confirmation_of
。
我的模型看起来像这样:
class Blark
include ActiveModel::Validations
attr_accessor :text
validates_confirmation_of :text
end
当我使用它时会发生这种情况:
0 HAL work/nrb-brewery-management % rails c
Loading development environment (Rails 3.2.5)
1.9.3p0 :001 > b = Blark.new
=> #<Blark:0xae2e2d0>
1.9.3p0 :002 > b.text = 'llama'
=> "llama"
1.9.3p0 :003 > b.text_confirmation
=> nil
1.9.3p0 :004 > b.valid?
=> true
为什么b
在这里有效?
答案 0 :(得分:4)
“注意:仅当password_confirmation不是nil时才执行此检查,默认情况下仅在保存时执行。要确认,请确保为确认属性添加状态检查:”
因此,请向您的班级添加在场状态检查,例如
class Blark
include ActiveModel::Validations
attr_accessor :text
validates_confirmation_of :text
validates_presence_of :text, :text_confirmation
end