1

私の開発環境では問題なく動作しているように見える Rails 3.2.8 アプリケーションがありますが、Heroku にデプロイすると、アセット パイプラインがアセットを正しくコンパイルしなくなりました。少なくとも、依存関係に読み込まれません。

たとえば、 http://myappsubdomain.herokuapp.com/assets/application-b389f6c8ee6250ebc143feb659f40ed9.jsにある「コンパイル済み」の js アセットには、生のソース コードが含まれています。

//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require twitter/bootstrap
//= require_tree .
$(".tip").tooltip();

これは、私の application.css に直接配置されたスタイルを含むが、必要な依存アセットが読み込まれていない CSS アセットにも当てはまります。

プリコンパイルは、展開中にエラーなしで実行されるようです:

-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       Asset precompilation completed (8.79s)

「heroku run rake asset:precompile」を手動で実行すると、エラーなしで実行されることに気付きました。

開発環境でアセットのコンパイルを有効にすると、予想どおり、すべてが含まれている単一のアセットにうまく押しつぶされているように見えます。

誰でもこれについてアドバイスを提供できますか?

4

1 に答える 1

0

さらに実験を重ねた結果、準備した新しい Heroku インスタンスは Ruby 2 で実行されていましたが (明らかに Rails 4 の準備段階でした)、私の開発環境と、この特定のコード ベースを実行している既存の heroku インスタンスは 1.9.3 でした。

Gemfile を更新して、Ruby バージョンの明示的な定義を含めるようにしました。デプロイするとうまく動作するようになりました。

于 2013-06-19T14:06:30.217 に答える