自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。
Ruby言語やLinuxのネタが多いです。
April 13, 2006 [おもひで]
■ [Rails] RJS テンプレート使うときは Content-Type が text/javascript じゃないといけない
遅レス経由。Ruby-GetText-Packageでは以下のようにして両方大丈夫なようにしてます。
参考までに。
module ActionController
class Base
after_filter :init_content_type
def init_content_type
if @headers["Content-Type"] and /javascript/ =~ @headers["Content-Type"]
@headers["Content-Type"] = "text/javascript; charset=utf-8"
elsif ! @headers["Content-Type"]
@headers["Content-Type"] = "text/html; charset=utf-8"
end
end
:
:
このタイミングで@headers["Content-Type"]にはRJSが指定したContent-Typeが入ってきますので、それをチェックしています。javascriptという文字列が来たときも置き換えをしていますが、これはcharsetを明示させるためです(オリジナルのままだとcharset指定がない)。
まぁ、でも、ホントはRuby-GetText-Package使って欲しいんですよねー。国際化しない日本語オンリーのアプリでも便利ですよ。ActiveRecord用のpoファイルを自動で生成してくれる、とか、ActionMailerが何も考えずにISO2022JPになるとか、もちろん、上記のような実装(ホントはcharsetの指定もutf-8以外に変更できる)を始め、日本固有の実装もしています(良いんです、作者が日本人なんだから!)。一度おためしアレ。
[ツッコミを入れる]
