我在 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=development
或 rake 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/