RJSの落とし穴。
Railsで日本語扱う(と言うか、UTF-8で動かす)場合、常套手段としてcontroller/application.rbで
before_filter :set_chaset def set_charset @headers["Content-Type"] = "text/html; charset=utf-8" end
とやってContent-Typeにcharsetを仕込みますけど、これやってるときにRJSを使うのにはちょっと注意が必要。
RJSでJavaScriptソースを返すアクション中で、
@headers["Content-Type"] = "text/javascript; charset=utf-8"
とやってやらないとJSは動作しないし、JavaScriptコンソールにもエラーが出なくて頭上を疑問符が飛び交う羽目に。
要するに、text/htmlで返しちゃったからJSだと思われてないのが原因。RJSを使うアクションがたくさんあれば、before_filterでやるほうが賢い。
それとも最近はもっと賢い手があるのかな?