この本の通りに手を動かしてアプリケーションを作っています。ところが、最初の方のscaffoldあたりの記述からどうもおかしい。本の通りにやっても動かないのです。エラーとなってしまったり、パラメータが多い、と怒られたり...
半日以上悩んだのですが、わからない。結局原因は、本の記述はRails 1.2、Mac OS Xで先日バージョンアップしたRailsは2.1.0、というバージョンの違いにあったようです。
Rails 2.0のscaffoldを使ってみた - idesaku blog
scaffoldで最初から自動生成するのか、じゃあ、この本のようにモデルが1つでコントローラが2つの場合はどうやって生成するんだろう?それ以外にも動的なscaffoldが他の方法に変わっているようだったり(activescaffold?)、migrateのt.timestamps?が自動で付いていたり、大きなところから細かいところまでたくさん変わっているようです。
バージョンが新しい方が何かといいだろう、とまたしばらくいろいろ悩んだのですが、どうもこの本が役に立たないくらい変わっているっぽい。
初心者につきRailsをバージョンダウン - 404 ないわー Not Found -species5618jp - の日記
私もこの方と同じようにバージョンダウンして、アジャイルな開発法をこの本に忠実に従って身につけていこうと決心いたしました
$ sudo gem uninstall railsこれで、やっとアジャイルな本の通りにRailsが動くようになりました。さあ、頑張って習得しよう。
Select gem to uninstall:
1. rails-1.2.3
2. rails-1.2.6
3. rails-2.1.0
4. All versions
> 3
Successfully uninstalled rails-2.1.0
$ rails -v
Rails 1.2.6