11th Thu
dJavaScriptプラグイン
This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/154
たいしたものじゃないですが、dJavaScriptの実装をRailsプラグインとして作ってみました。http://svn.labs.drecom.jp/rails/plugins/trunk/djavascript
サーバ側でやることは、プラグインをインストールし、json.js, djavascript.jsをjavascript_include_tagして、コントローラの中で
djavascript :object_name
のように公開するオブジェクトを登録します。
実際には、session[:object_name]が公開されます。
あとは、クライアントサイドから以下のような感じで使います。
var obj = new DJSObject('http://foo.bar.com/controller_name/djavascript');
alert(obj.methods());
new DJSObject( ... ) の呼び出しでリモートオブジェクトのpublicメソッド一覧を取得して、プロクシメソッドをobjに定義します。
obj.methods() で、リモートオブジェクトの 'methods'メソッドを呼び出し、戻り値をto_jsonして返します。
通信にXHRを使っているので、同一ドメイン内でしか使えません。
scriptタグをappendChlidする方式にすればドメイン境界を越えられますが、戻り値をreturnできないのがかっこ悪かったので、XHRにしてます。
もうちょっとちゃんと作れば、RESTとかXML-RPCに代わるAPIの一種として使えないこともないかも。
This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/154
posted by
genki on Thu 11 Jan 2007 at 21:52 with 0 comments