2

環境が完全に機能することを期待する rake タスクを実行するには、DB 接続が実際に確立されている必要があることを理解しています。基本的に、Heroku が環境をロードする前にアセット パイプラインのプリコンパイルを実行する必要があるのはそのためです。

そのため、Rails 3.X アプリを Cedar にデプロイするには、次の行が必要です。

    config.assets.initialize_on_precompile = false

今、アプリを期待どおりに動作させるために、他のアセットのコンパイルを行うための rake タスクを必要とするカスタム ビルド パックをビルドしようとしています。これは、JS アセット ファイルを国際化し、https://github.com/fnando/i18n-jsを使用しているためです。

私は走る必要がrake i18n:js:exportあり、それには環境が必要です。*この呼び出しを追加して、Rails アプリの DB への接続が機能することを確認できるビルドパックのポイントはありますか? *環境のロードはこのタスクの要件であり、解決方法がわからず、典型的なエラーが発生します。

rake aborted!
could not connect to server: Connection refused
    Is the server running on host "127.0.0.1" and accepting
    TCP/IP connections on port 5432?

もちろん、ローカルでコンパイルしてからデプロイできます。しかし、ビルドパックは、この問題を自動化された方法で解決するための適切なツールのようです. 助けてくれてありがとう!

4

1 に答える 1

5

ユーザー環境の Heroku ラボ機能を確認してください: https://devcenter.heroku.com/articles/labs-user-env-compile

于 2012-08-10T19:09:48.173 に答える