【Ruby】パーフェクトRuby 学習感想文 ~第15章 その2
それでは15章を読んでいきます。
(参考・経緯など)
パーフェクトRuby 学習感想文 ~はじめに
P553 メソッドの記載順序
validate をSTATUS定数の前に書いたらエラー
irb(main):001:0> require 'todo_samp' NameError: uninitialized constant TodoSamp::Task::STATUS from c:/repositories/todo_samp/lib/todo_samp/task.rb:9:in `<class:Task>'
上から順に実行するから、validateを末尾に移動したらOK。
初めて知った。
どこかに記載しても良いのでは。
P554 発生エラーが違う
irb(main):006:1* command.create_task(nil,nil) irb(main):007:1> rescue =>e irb(main):008:1> p e.class irb(main):009:1> p e.record
■実行結果
ActiveRecord::StatementInvalid: SQLite3::ConstraintException: tasks.name may not be NULL: INSERT INTO "tasks" ("content", "created_at", "name", "status", "updated_at") VALUES (?, ?, ?, ?, ?)
本ではActiveRecord::RecordInvalid が発生すると書いてあるけどエラーが違う。
エラー内容を見るとvalidationが効いているので、ひとまずはいいか。。
この本ではirbでテストを行っているけど、
一行一行書き込むのがめんどくさすぎるよー。
ミススペルしたときの回復方法も分からないし、、、
入れ間違えたらもう一度一行目からやり直しだし、、、
ファイルにテストコードを書いておいて、それを実行する方法も知りたいよー。。
データモデルは終了。