На этой неделе мы начали работу над новым приложением, которое запускает последние версии 3.2.2 с конвейером ресурсов.Для активов я хотел бы, чтобы активы были скомпилированы при переносе приложения на heroku (вместо того, чтобы вручную компилировать и хранить скомпилированные активы в репо). Документы предполагают, что это должно произойти автоматически .
Проблема, с которой я столкнулся, заключается в том, что когда я запускаю git push heroku master
, кажется, что задача rake assets:precompile
вообще не запускается.Активы никогда не компилируются.Вот вывод, который я получаю:
-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.1.rc.7
Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
Using rake (0.9.2.2)
.......
.......
Your bundle is complete! It was installed into ./vendor/bundle
Cleaning up the bundler cache.
-----> Writing config/database.yml to read from DATABASE_URL
-----> Rails plugin injection
Injecting rails_log_stdout
Injecting rails3_serve_static_assets
-----> Discovering process types
Procfile declares types -> web
Default types for Ruby/Rails -> console, rake, worker
-----> Compiled slug size is 61.7MB
-----> Launching... done, v30
[appname] deployed to Heroku
В моем приложении активирован конвейер ресурсов. Rb
require File.expand_path('../boot', __FILE__)
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
Bundler.require *Rails.groups(:assets) if defined?(Bundler)
module Appname
class Application < Rails::Application
# ...
# Enable the asset pipeline
config.assets.enabled = true
# Do not boot the app when precompiling assets
config.assets.initialize_on_precompile = false
end
end
Кто-нибудь знает, что может быть причиной проблемы?Я рад предоставить больше кода, если это будет необходимо.Если я запускаю heroku info
, это показывает, что я работаю в стеке Cedar.
Мне пришлось включить config.assets.compile = true
, чтобы прекратить получать 500 ошибок в работе, хотя это компилирует ресурсы во время выполнения (что яне хочу).