に失敗し、Railsの存在の検証は、私は次のようなモデルを持っている値が0
class Activity < ActiveRecord::Base
attr_accessible :name, :admin
validates :name, :presence => true
validates :admin, :presence => true
end
nameプロパティは、文字列とプロパティは、移行のbooleanとして定義されている管理者です。私は、
a = Activity.create(:name => 'Test', :admin => 0)
を使用して、コンソールでモデルのインスタンスを作成しようとするとその後の検証は、私が管理のために価値を提供する必要があると言って失敗し
。どうして?私は価値を提供しました。
私は値を供給することができなかったか、またはnilを供給したかどうかを理解できました。しかし、なぜ0のような値(またはその点ではfalse)でも検証は失敗するでしょうか?
を参照してください、私は推測する私には理にかなって。しかし、私はまだそれが間違っていることに同意しないと思う。ブランク?または0.blank? trueを返すべきです – richard
十分に公正ですが、あなたはRailsを書いた人たちと一緒にそれを取る必要があります:) – zetetic
+1。このソリューションは機能します。しかし、私もRailsがこれをよりうまく処理したいと考えています。ここでの解決方法を使用する際のエラーメッセージは、 ':upgraded_kitchen_bathrooms => ["はリスト "に含まれていません"]です。これは私たちの後ろの単純さを考えると恐ろしいことです。 –