rails で Table doesnt exist
原因:テーブル名とClass名が正しく対応していない。
rails は class 名とテーブル名を対応させるのだが、標準では複数形(pluralize)される。私は、ちょっと戸惑ってた。
book → books read book → read books read books of user → readed books of users #一対多を表現したのに、多対多の名前にされた。。。orz
DHHちょっとやりすぎ。DHHの哲学に従うことにする。
先にテーブル作っちゃったよと言うときは。テーブル名を変更しましょう。まぁ防ぐ方法はあるんだろうけど。
railsがアクセスするテーブル名を確認
pluralizeメソッドを使う
takuya@tenryu:~/uni_rails$ script/console Loading development environment (Rails 2.3.5) >> "read" => "read" >> "read".pluralize => "reads" >> "child".pluralize => "children" >>
またはログを見る
development.log production.log server.log test.log takuya@tenryu:~/uni_rails$ tail -f log/development.log CACHE (0.0ms) SELECT * FROM `book_xmls` WHERE (`book_xmls`.`id` = 127100) ....
テーブルを確認したら、MySQLのテーブル名を確認する。