rails:1053
From: "Makoto Satoh" <satoh.makoto@g...>
Date: Thu, 13 Apr 2006 09:13:04 +0900
Subject: [rails:1053] RJSとbefore_filter :set_charset
佐藤です。 Railsアプリを作るときに、config/environments.rbに$KCODE = 'u'を 追加したり、app/controllers/application.rbに before_filter :set_charset def set_charset @headers["Content-Type"] = "text/html; charset=UTF-8" end を追加するのを初期作業としていましたが、これではRJSテンプレートが うまく動かないようです。 app/views/foo/bar.rjsが動かないだけで、app/controllers/foo_controller.rbで render :updateを使うものは動きます。 Rails Recipesを購入しましたが、6. Update Multiple Page Elements With One Ajax RequestのDiscussionに、RJSテンプレートはContent-Typeが text/javascriptでないと動かない、after_filterでContent-Typeをセットして いる場合は注意、とありました。 そこで、before_filter :set_charsetをapp/controllers/application.rbから 削除し、app/controllers/foo_controller.rbで before_filter :set_charset, :except => [:bar] としたら、app/views/foo/bar.rjsが動きました。動きましたが、 いまいちすっきりしない感じです。 RailsはWEBrickで動かし、ブラウザはFireFoxです。 個人的には、コントローラ内でrender :updateを使うほうがすっきり するかなとは思っていますが、*.rjsが使えないのもしゃくなので。 RJSを紹介しているいろんなサイトには、この件が書かれているのを 見たことがありませんが、みなさんContent-Typeをセットするフィルタと RJSの共存はどうしてますか? -- 佐藤
-> @ 1053 2006-04-13 02:13 [satoh.makoto@g... ] RJSとbefore_filter :set_charset 1054 2006-04-13 07:43 ┗[toykyo@t... ]