4

我有一个运行没有资产的服务的 rails 应用程序。当我部署时,我看到:

-----> 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?
       /tmp/build_3pneyggcg60ks/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `initialize'
       /tmp/build_3pneyggcg60ks/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `new'
       /tmp/build_3pneyggcg60ks/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `connect'
...

所以我把它放到了我的 application.rb 中:

config.assets.enabled = false
config.serve_static_assets = false
config.assets.compile = false

但是在部署时我仍然收到相同的消息。

如何完全关闭heroku上的资产编译/处理?

4

2 回答 2

3

请参阅此问题文档。看起来魔法发生在manifest.yml文件中。

于 2013-07-24T23:23:17.090 回答
2

在https://devcenter.heroku.com/articles/rails-asset-pipeline上找到了这个

在预编译资产时,在 Rails 3.x 中,您可以通过确保以下行位于您的 中来防止初始化应用程序和连接到数据库config/application.rb

config.assets.initialize_on_precompile = false
于 2013-07-24T22:44:23.467 回答