Хероку предварительное устранение активов без результата
-
26-10-2019 - |
Вопрос
Я использую кедровый стек Heroku для моего приложения Rails, и я хочу, чтобы он предварил активы во время компиляции Slug, потому что я не хочу беспокоиться о предварительно скомпилированных вещах в GIT.
Теперь это швы, что все должно быть в порядке, как во время компиляции слизняка в журнале говорится:
Preparing app for Rails asset pipeline
Running: rake assets:precompile
/usr/local/bin/ruby /tmp/build_8bg62ph22vwj/vendor/bundle/ruby/1.9.1/bin/rake assets:precompile:nondigest RAILS_ENV=production RAILS_GROUPS=assets
Но когда я пытаюсь получить доступ к сайту в heroku logs
Я получил:
2011-11-30T08:23:52+00:00 app[web.1]: ActionView::Template::Error (blueprint/screen.css isn't precompiled):
2011-11-30T08:23:52+00:00 app[web.1]: 22: <%= javascript_include_tag 'http://html5shiv.googlecode.com/svn/trunk/html5.js' %>
2011-11-30T08:23:52+00:00 app[web.1]: 23: <![endif]-->
2011-11-30T08:23:52+00:00 app[web.1]: 24: <%= javascript_include_tag 'application' %>
2011-11-30T08:23:52+00:00 app[web.1]: 25: <%= stylesheet_link_tag 'blueprint/screen', :media => 'screen' %>
…
Вы хоть представляете, где может быть проблема?
Решение
Вы пробовали развернуть приложение локально? Если это так, вы получите тот же результат.
При использовании конвейера активов он по умолчанию обслуживает все css через Application.css.
Можете ли вы изменить свой тег StyleSheet на:
<%= stylesheet_link_tag 'application' %>
Если это правильно отображается в разработке, то это также должно работать в производстве.
В качестве альтернативы, если вам действительно нужно включить этот файл напрямую, вам нужно будет изменить config/environments/production.rb
добавить:
config.assets.precompile += %w( blueprint/screen.css )
Другие советы
Доминик Таунсенд дал абсолютно правильный источник проблемы. Что касается решения здесь очень хороший вариант в ответе на другой вопрос о переполнении стека.