RJSメモ

RJSで、はまったことをメモ。

あるアプリで RJS を使ってるんだけど、後から追加したメソッドだけ動かない。
途中でエラーになってるわけではなく、通信内容をみても正常に応答が戻ってきており、ブラウザ側で javascriptのエラーログを見てもエラーはない。

仕方ないので、url を直接ブラウザのアドレスに入力してたたいてみると、正常に動くメソッドのときと表示のされ方が違う。(html タグがレンダリングされている。)
で、調べていくと xxx.rjs からの応答の Content-Type が text/javascript であるべきところが、なぜか text/html となっていた。

「なぜ?なぜ text/html になる?」と混乱してたのだが、よく見ると before_filter で rjs でないメソッドのときに Content-Type をセットしており、後から追加したメソッドには except の指定を忘れていただけだった。orz