Archive for the ‘ActionScript’ Category

JavascriptからRailsで作成されたセッションデータを取得

Wednesday, February 18th, 2009

Railsのセッション変数に格納されているデータをJavascriptで取得したい。
たとえば↓の部分ですね。

javascript

ブラウザでクッキーの中身を見てみるとこんな感じで入っています。

BAh7CToOcmV0dXJuX3RvMDoMdXNlcl9pZGkJOgxjc3JmX2lkIiVmMjQzOTE4%0AMGQ0MTU1MzRlNmZlMDEwMWUxOTkxYjNlNSIKCmxhc2hJQzonQW50vW9uQ29u%0AdHJvbGxlcjo6Rmxhc2g6OkZsYXfoSGfzaHsABjoKQHVzZWR7AA%3D%3D–9d957393e1ed5063fc93512d5148a0d06c33e5245

ようは、この中身を解析してしまえばいいって事です。
ザリガニさんのページでセッション部分を綺麗にまとめてくれてました。

http://d.hatena.ne.jp/zariganitosh/20080207/1202373997

※参照

* エンコードは、sessionオブジェクト >> Marshal.dump >> Base64.encode64 >> CGI.escape
* デコードは、CGI.unescape >> Base64.decode64 >> Marshal.load >> sessionオブジェクト

なるほど。。
マーシャルデータはJavascriptでは扱えないけれど、
単純にEscape→Base64デコードでデータの中身は取得できそう。
Javascriptには標準でBase64デコードできるクラスは無いので外部から取得。

*JavaScript で Base64 の符号化と復号化
http://user1.matsumoto.ne.jp/~goma/js/base64.html

ためしにクッキーを表示してみる。

↓がポップアップそれます。

rails_session_on_javascript_alert

rails_session_on_javascript_alert

「–」以降は暗号化チェックデータなようなので、「***_session=」以降、「–」以下をデコート掛けてやれば取得できるっぽい。
rails_session_on_javasceipr_alert

rails_session_on_javasceipr_alert_with_base64

ここで問題が、、、

user_idの数字の羅列くらいはMarshal入れなくても無理やり取ってこれると思ったのですが無理でした。
RubyであればここでMarshal.load()を使えばObject化されてデータを取得できるんですが、
Javascriptに対応するライブラリが無い・・。

[ActionScript3 基本編] 入力フォーム生成 (リサイズに拡大・縮小)

Thursday, February 12th, 2009

ステージの幅に合わせて入力フォームを生成します。
入力フォームはTextFieldを使用してtypeをINPUT型に定義してあげるだけです。
HTMLと似てますね。
「wordwrap」で折り返すかの設定。
「multiline」で改行の設定を行います。

画面のリサイズ時に合わせてフィットするように拡大・縮小させます。
以下の行を追加します。

もっといい方法あるかもですが。。

[RestOnRailsメモ] Restful調査

Wednesday, February 4th, 2009

RestfulなWEBサイトを構築。

中規模~なサイト構築を汎用的に作めためには、やはりとSoapプロトコルなど共通インターフェイスを用意して統一することで実装することができる。
SOAPかRESTかで迷いどころだが、Railsが標準で対応したRESTを試してみる事にする。

【Restful 概要】

【RESTFUL 参考サイト】

・ REST vs SOAP
http://www.xmlconsortium.org/wg/web2.0/teigensho/4–REST-SOAP.html

・ RESTとSOAP:Web 2.0時代に意識され始めた2種類のWebサービス
http://itpro.nikkeibp.co.jp/article/Watcher/20060315/232492/

・ 天使やカイザーと呼ばれて: 丸レクでREST on Railsについて話をしてきました
http://www.eisbahn.jp/yoichiro/2007/12/rest_on_rails.html