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