rails-3.1 では assets pipeline を実現するために execjs という gem でシステムに存在する JavaScript の処理系を上手いこと持って来て動かしてくれるんだけど、これがまたプラットフォームによって結構はまりやすいのでメモっておく。
"好きな奴使え、おまいらの Macbook には node.js くらい入ってるんじゃないの?"というトーンらしい。
heroku は当然 node.js とか入って無いので therubyracer-heroku を使う必要がある。bundler の production グループに指定するといいんじゃないかな。
そういや最近出来た ceder スタックだと node.js が動くから therubyracer を入れなくても動くかなと思ったけどやっぱりダメだった。
最近注目されている github の CI サービスの travis だとつい先日(というか今日)対応したらしくて mustang を test グループに追加することで rails-3.1 なアプリケーションをCIで回すことが出来る。
とまあ、何を使うにしろ libv8 をコンパイルしたりと割と大変だったりするので、rails-3.1 では rake タスクでプリコンパイルした上でそれを使うようにする仕組みが出来るとか出来ないとか。