2008年3月9日日曜日

"'JSON Request/RESTを処理するサーバを作る'をやり直す."をやり直す.

JSON表現のPOSTデータをパラメータにするためのプラグインがありました.
json_request: handling JSON request in Rails 2.0
http://blog.labnotes.org/2007/12/11/json_request-handling-json-request-in-rails-20/

これをいれるとJSON表現のPOSTデータが
params[:model名]
で,きちんととれます(入れる前は戻り値はnil).
これを入れてあげれば先の'script/genereate scaffold model ...'で問題ありません.ついでにxml系の戻り値を用意しなくてよいのであれば面倒なのでsedコマンドで'xml'という文字列を'json'に置き換えておしまいでも良いと思いますw.
> mv app/controllers/projects_controller.rb app/controllers/projects_controller.rb.orig
> sed 's/xml/json/g' app/controllers/projects_controller.rb.orig > app/controllers/projects_controller.rb


ということでこれを連続で書くと以下のようになります.
(もうひとつついでにidカラムはrails側(ActiveRecord)が勝手に管理してくれるみたいなので外します.)
> script/plugin install http://labnotes.org/svn/public/ruby/rails_plugins/json_request
> script/generate scaffold Project name:string
> mv app/controllers/projects_controller.rb app/controllers/projects_controller.rb.orig
> sed 's/xml/json/g' app/controllers/projects_controller.rb.orig > app/controllers/projects_controller.rb
(dbの初期値を入れたい人はここで./ 前のエントリを参照のこと)
> rake db:migrate


これでJSON Requestを処理できるサーバが完成.サーバを起動すれば動く.
> script/server


(ちなみにLeopardに2系を入れる話はこれ

create系のGWT側の例は…次回へ続きます.

0 件のコメント: