2013-07-24 2 views
4

У меня есть приложение rails, которое запускает сервис, который не имеет активов. Когда я раскрываю, я вижу:Как полностью отключить компиляцию активов в приложении rails на Heroku?

-----> 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?

ответ

3

См. this question и the docs. Похоже, что магия происходит в файле manifest.yml.

+0

Поддержка Heroku согласна с вами - спасибо! –

2

Нашел на https://devcenter.heroku.com/articles/rails-asset-pipeline

Хотя прекомпиляции активов, в Rails 3.x, вы можете предотвратить инициализации приложения и подключение к базе данных, гарантируя, что следующая строка в вашем config/application.rb:

config.assets.initialize_on_precompile = false 
+0

, который управляет только при инициализации приложения при предварительной компиляции, а не в том случае, если он предварительно прекомпилят в первую очередь. –

+0

hmm, но теперь, когда я смотрю на принятый ответ, возможно, ваше предложение будет также работать вместе с моей конфигурацией, потому что моя конфигурация будет фактически подобрана? –