Ramazeの事後処理

http://d.hatena.ne.jp/NAT_programming/20080921/1222009374
この場合だと,ビューに限らず文字コードが関係する所はShift_jisで用意したりとかになると思うので(flashとか),そういう所にフックを書けることは想定してないような(文字コードは大抵統一される).

Ramazeで用意されているaspectのafterで出来そうな感じだけど,あくまでアクションのafterなのでレンダリング結果には触れないし.実際このafterはuncached_renderの終了時に呼ばれるているので,このレンダリングの値をresponseのbodyにuncached_renderの中で設定してくれれば触れるようになるのだけど^^;

body = Controller.handle(path)
Response.current.build(body)

ソースでは上のようにアクションのレンダリング結果ですぐにresponseをビルドしてるので,uncached_renderの中でビルドしちゃっても実は問題ないように映るけど,どうなんだろう?でもそうするとフィルターを使う時も文字コードを考えなくと行けなくなるので,結局ややこしいことになるのかも(今度はフィルタにもbeforeとかが必要になりそう).

うーん,でも一部だけ文字コードを変えたいって要求は結構あるのだろうか.というか携帯ではShift_jisがメインだとするとYAMLとかとはかなり相性が悪そうなw