モデルテストの演習 - RSpec/Capybara入門 - Ruby on Rails with OIAXのページでわからないところがあります。
なお、allow_blank: true オプションを指定しているのは、presence: true によるチェックと重複しないようにするためです。このオプションを指定しないと、姓または名に空文字(空白のみから成る文字列を含む)が指定された場合に、バリデーションエラーが2個登録されてしまいます。
重複しないようにとはどういうことでしょうか?実際に動かして見てみましたがよくわかりませんでした。
allow_blank: true
をなしで' 'と名前を空白にしてエラーを確認したところ、{:family_name=>["can't be blank", "is invalid"]}
と表示され、オプションを有効にしたところ、{:family_name=>["can't be blank"]}
と表示されました。
さらに、この実験により次の2つの疑問も生じました。
allow_blank: true
があってもなくてもcan't be blank
が表示される。allow_blank: true
で"is invalid"
が消えるのはどういうわけか?
分かる方がおりましたら、ご回答よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/24 16:02
2015/11/26 08:00