Home > KNOWLEDGES > Ruby on Rails > Rails 2.0移行でつまずくポイント
Rails 2.0移行でつまずくポイント

モデルを作ってからscaffoldを生成しようとするとエラーになる

Another migration is already named create_addresses というエラーが表示され、scaffoldの生成が中断してしまいます。 --skip-migration オプションをつけて実行してください。

$ script/generate scaffold Customer name:string mail_address:string --skip-migration 

scaffoldを生成しても、フィールドが含まれない画面しか表示されない

Rails 1.xではテーブルに含まれるすべてのフィールドが生成されるビューに自動で含まれましたが、Rails 2.0ではscaffold生成時にビューに含める項目を明示的に指定する必要があります。下記の例のようにフィード名:型(例:name:string mail_address:string)を指定してください。

$ script/generate scaffold Customer name:string mail_address:string --skip-migration 

acts_as_list, acts_as_treeが使えない

undefined method `acts_as_list' というエラーが表示されます。ActiveRecordをスリム化するためにacts_as_xxxは外部プラグインとなり、ActiveRecord本体には含まれなくなったためです。

$RAILS_ROOTで下記コマンドを実行してインストールしてください。

$ script/plugin install acts_as_list