Komei22 / rails-tutorial

rails-tutorialのsample_app作っていきます
0 stars 0 forks source link

ch6.2.2演習 #30

Closed Komei22 closed 7 years ago

Komei22 commented 7 years ago

ch6.2.2演習

演習1

新しいユーザーuを作成し、作成した時点では有効ではない (invalid) ことを確認してください。なぜ有効ではないのでしょうか? エラーメッセージを確認してみましょう

irb(main):006:0> u = User.new
=> #<User id: nil, name: nil, email: nil, created_at: nil, updated_at: nil>
irb(main):007:0> u
=> #<User id: nil, name: nil, email: nil, created_at: nil, updated_at: nil>
irb(main):008:0> u.valid?
=> false
irb(main):009:0> u.errors.full_messages
=> ["Name can't be blank", "Email can't be blank"]

演習2

u.errors.messagesを実行すると、ハッシュ形式でエラーが取得できることを確認してください。emailに関するエラー情報だけを取得したい場合、どうやって取得すれば良いでしょうか?

u.errors.messagesを実行

irb(main):004:0> u.errors.messages
=> {:name=>["can't be blank"], :email=>["can't be blank"]}

emailに関するエラーを取得するには、ハッシュで帰ってきているのでkeyに:emailを指定

irb(main):007:0> u.errors.messages[:email]
=> ["can't be blank"]