佐藤です。
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の共存はどうしてますか?
--
佐藤