Rails 3.1, Blueprint CSS и Heroku - PullRequest
       8

Rails 3.1, Blueprint CSS и Heroku

1 голос
/ 24 декабря 2011

Я искал в этой группе и в остальной части Интернета и нашел кусочки решения моей проблемы, но не нашел ничего, что действительно работает.

Вот моя проблема.Я использую Rails 3.1 и внедряю его в стек кедра Heroku.

У меня есть Blueprint в моем каталоге assets / stylesheets.

Когда я пытаюсь добавить это в шаблон моего приложения:

  <%= stylesheet_link_tag 'blueprint/screen', :media => "screen, 
projection" %> 
  <%= stylesheet_link_tag 'blueprint/print', :media => "print" %> 

И запустить это в моей командной строке:

RAILS_ENV=production bundle exec rake assets:precompile 

И после развертывания я получаю сообщение об ошибке на Heroku, в котором говорится, что «blueprint / screen.css не скомпилирован», но когда я смотрю в каталог public / assets, он там и появляется вманифест.Я получаю эту ошибку, даже если я запускаю прекомпиляцию локально перед фиксацией и развертыванием.

Если я ничего не добавлю в шаблон приложения и не позволю Rails найти Blueprint, я буду запускать прекомпиляцию вручную, развернуть и Herokuзагрузит сайт.Так что все в порядке.

Однако я получаю URL-путь к каждой ссылке.Некоторое чтение показывает, что мне нужно добавить ": media =>" print "и" screen, projection "в мой шаблон, но каждый раз, когда я добавляю строки в шаблон, Heroku не загружается вообще, потому что файлы не скомпилированы предварительнодаже если я предварительно скомпилировал их.

Вся помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

В дополнение к упомянутым вами шагам, не забыли ли вы добавить каталог public / assets в ваш репозиторий git до того, как вы отправили его в Heroku?

У меня была та же проблема, что и у вас, пока я не прочитал ту жеНейл упоминает статью, которая напомнила мне об этом простом шаге, который я забыл.

http://devcenter.heroku.com/articles/rails31_heroku_cedar

0 голосов
/ 24 декабря 2011

Я полагаю, что ваши ресурсы не в Git, если вы запускаете команду локально. Я не думаю, что добавление ресурсов в git, как правило, хорошая идея, так как общее мнение состоит в том, что это больше проблем, чем стоит:

Должен ли я сохранять сгенерированный код в системе контроля версий

Для получения дополнительной информации о конвейере активов и Heroku см. Здесь:

http://devcenter.heroku.com/articles/rails31_heroku_cedar#the_asset_pipeline

Лично я оставляю ресурсы для предварительной компиляции после развертывания, а затем использую гем asset_sync, чтобы отправить файлы на S3 для обслуживания. Более подробная информация об этом здесь:

http://devcenter.heroku.com/articles/cdn-asset-host-rails31

...