Rails 3.2.1 ошибка прекомпиляции актива heroku - PullRequest
8 голосов
/ 05 февраля 2012

Я добавил эти две строки в application.rb:

config.assets.initialize_on_precompile = false

config.assets.compile = true

Тем не менее, я все еще получаю ошибки, когда нажимаю на Heroku:

2012-02-05T09:48:34+00:00 app[web.1]: Completed 500 Internal Server Error in 3ms
2012-02-05T09:48:34+00:00 app[web.1]: 
2012-02-05T09:48:34+00:00 app[web.1]: ActionView::Template::Error (bootstrap.css isn't precompiled):

Есть предложения?

Ответы [ 3 ]

13 голосов
/ 06 февраля 2012

Судя по всему, у вас есть файл bootstrap.css, который неправильно включен в ваш файл манифеста в app/assets/stylesheets и который вы, вероятно, также вызываете напрямую из stylesheet_tag.

Существует несколько подходов к этому:

  1. Вы можете добавить строку в файл конфигурации вашей среды, которая обеспечит прекомпиляцию вызываемого вами файла css:

config.assets.precompile += %w( bootstrap.css )

… например.

  1. Это тот, который я, вероятно, сделал бы; включите файл bootstrap.css в файл манифеста внутри `app / assets / stylesheets ', как упоминалось выше. Ваш файл манифеста будет выглядеть примерно так (не уверен, что форматирование этого файла будет отображаться правильно, поэтому я также создал Gist: https://gist.github.com/1753229):

/ * * = требуется начальная загрузка * /

/ * остальная часть файла пропущена * /

Вам может потребоваться больше файлов, чем это, в зависимости от настроек css.

3 голосов
/ 05 февраля 2012

read this , это учебник о том, как запустить rails 3.2.1 (и ruby ​​1.9.3) на героку.Очевидно, что вы можете пропустить ненужные биты, но это должно объяснить, почему эти проблемы возникают и как их исправить.

Кроме того, прочитайте эту статью Дэвида Райса, автора статьи.полезный актив asset_sync.Это поможет вам разобраться в этом.

3 голосов
/ 05 февраля 2012

Попробуйте использовать rake assets:precompile перед тем, как зафиксировать свой код и передать его герою.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...