RailsによるアジャイルWebアプリケーション開発第6章まで
とりあえず5章までは何の問題もなく終了。
しかし6章でおもいっきりつまづいた。
$ruby script/generate scaffold product admin exists app/models/ exists app/controllers/ exists app/helpers/ exists app/views/products exists app/views/layouts/ exists test/functional/ exists test/unit/ wrong number of arguments (1 for 2)
調べてみたらこんな記事が見つかった
scaffoldがwrong number of arguments (1 for 2)でエラーになる
んー、今の僕の症状とぴったりですね。
ようするにrails1.2とrails2では使用が違うということですね。
それで日記の続きにあるようにやってみました。
最初から書くと、
プロジェクト作成 $ rails depot create create app/controllers ... $ cd depot scaffoldで生成 $ ruby script/generate scaffold product title:string description:text image_url:string price:decimal データベース作成 $ rake db:migrate $ ruby script/server
といった感じで
http://localhost:3000/products
に正しく表示されるようになりました。
ちなみにrails1.2ではデータベーステーブルを作ってからscaffoldする必要がありましたが、rails2ではscaffoldする時にデータベースの定義ファイルを作ってくれるので、先にscaffoldしてからrakeします。
本ではMySQLを使ってますが、rails2ではデフォルトのデータベースがSQLiteになったということでここではSQLiteでの方法を紹介しました。
rails2.2.2が正しくインストールされてる状態から上記の手順を踏めばうまく表示できるはずです。
なんかid:taka_2さんの日記とほとんど同じ内容になってしまった(笑
railsのバージョンでこんなに仕様が違うとは...
前途多難です。