« Rails勉強会@東京 第10回 | メイン | ドラゴンのスヌーカーレッスン Part8 »
2006年09月28日 (木)
scaffold_resource_generator [テクニカル]
Edge Railsに、scaffold_resource_generatorというリソース(map.resourcesで指定するもの)用のscaffold generatorが新しくできた(Changeset 5147)。これを使えばコントローラとモデル(とマイグレーション)を一気に作ってくれるというシロモノ。
使い方
ruby script\generate scaffold_resource <リソース名> [カラム名:型名] ...
第3引数にリソース名(※単数形であることに注意)、第4引数以降にテーブルのカラム名と型名を“:”で区切ったものを並べていく。型名はマイグレーションで指定するものと同じ。例えば、AWDwR本のDepotアプリケーションのproductを作るならこんな感じ。
ruby script\generate scaffold_resource product title:string description:text image_url:string price:float date_available:datetime
これでモデルとマイグレーション、さらに通常のscaffoldのRESTバージョンともいえるコントローラ(ProductsController)とビュー、テストの雛形が生成される。生成後にroutes.rbにmap.resources :products
を書くのを忘れないように。こっちは複数形。
前のmap.resourcesの紹介記事の中では通常のscaffoldを使うパターンを紹介したが、これからはscaffold_resourceで一発になりそうだ。個人的には通常のscaffoldがリソース対応に書き直されるのかなと思っていたが、別にリソース専用のscaffoldができたということは、Railsで作る全部がリソースになるのではなく、リソースの場合とそれ以外の場合とを区別して使ってねという意図の表れなのかもしれない。とはいえ、個人的には全部リソースというのがすっきりして好きなんだけどね。リソースにするとActiveResourceでアクセスできるというおまけもつくし。
トラックバック
このエントリーのトラックバックURL:
http://www.4bit.net/x/mt/mt-tb.cgi/143