我在 Rails 3.2.2 上运行并部署在 Cedar 堆栈上。我仍然收到以下错误:

-----> Writing config/database.yml to read from DATABASE_URL
-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       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?

甚至 guide 也建议将 config.assets.initialize_on_precompile 设置为 false,但提到:



一些文章(例如 one )建议使用 Heroku labs 。但即便如此,也有其自身的含义,因为它仍处于测试阶段。

我在网上阅读了其他几个来源,包括:

Rails 3.1 assets:precompile Connecting to Database

rake assets:precompile not working on heroku

都有不同的解决方案。那么避免这个错误的正确方法是什么?有人在使用 Heroku 实验室时遇到过任何大问题吗?有没有更好的方法?

PS 。只是要清楚。运行 rake assets:precompile RAILS_ENV=developmentrake assets:precompile RAILS_ENV=production 是在本地运行的正确方法吗?

最佳答案

该问题源于这样一个事实,即当您运行该 rake 任务时,您的应用程序正试图连接到 postgres。摆脱错误的唯一方法是阻止这种情况发生,或者使用您提到的 user_env_compile 附加组件。

关于ruby-on-rails - 避免佣金 Assets 的正确方法是什么 :precompile error on Heroku,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10447049/

10-11 06:15