partial_scaffoldというプラグインを作りました。
特定のモデルに宣言してあるhas_many/has_oneを元に
それらを一気に登録、編集、削除できる画面を作成する
ジェネレータを提供するプラグインです。
rbc-incubatorで公開しています。
http://code.google.com/p/rbc-incubator/source/browse/#svn/akm2000/plugins/trunk/partial_scaffold
サンプルアプリはこちら
http://code.google.com/p/rbc-incubator/source/browse/#svn/akm2000/applications/trunk/partial_scaffold_example
使い方の例
1.アプリを作って
rails pscaffold_test1
2.そのディレクトリに移動して
cd pscaffold_test1/
3.モデルを生成して
ruby script/generate model Person name:string
ruby script/generate model Email person_id:integer address:string
ruby script/generate model PostalMail person_id:integer
postal_code:string address:string
4.app/models/person.rb に関連を宣言
has_one :postal_mail, :acceptable => "attrs"
has_many :emails, :acceptable => "attrs"
5. DBを作成、マイグレーションを実行
rake db:create
rake db:migrate
6. partial_scaffoldプラグインをインストール
ruby script/plugin install
http://rbc-incubator.googlecode.com/svn/akm2000/plugins/trunk/partial_scaffold
7. partial_scaffoldジェネレータでコントローラとビューを生成
ruby script/generate partial_scaffold Person people postal_mail emails
8. サーバーを起動して
ruby script/server
9.画面にアクセス
http://localhost:3000/people
10. New Personをクリック
PersonモデルだけでなくEmailやPostalMailも一緒に登録できるように
なっています。
このプラグインはつい最近つくったもので、昨日のSeasar Conferenceの
Rubeusのセッションでちょっと余った時間でpartial_scaffoldの
説明をしました。
その様子をようぞうさんが録画してYoutubeに公開してくれました!
ようぞうさん、ありがとうございます。
http://blog.somethingnew2.com/archives/2008/09/seasar_conferen.php
1~3までがRubeusの話で、4がpartial_scaffoldの話です。
試していただいて是非rbc-incubatorで
ご意見をお聞かせください。
宜しくお願い致します。