Подтвердить что ты не робот

CSS выглядит по-разному на героку

Как вы можете видеть на рисунках ниже, css на моем локальном веб-сайте размещается намного лучше, чем на герою.

У кого-нибудь был этот тип проблемы раньше. Вы можете увидеть его лучше всего на этой странице http://pltcpal.herokuapp.com/forums/

Я использую загрузку Twitter, которая рекомендует добавлять

`padding-top: 40px;` 

если вы используете верхнюю панель навигации. Как-то он не работает...

heroku

local host

4b9b3361

Ответ 1

Проблема связана с обработкой конвейера активов на Heroku. Существует несколько способов решения этой проблемы, см. http://devcenter.heroku.com/articles/rails31_heroku_cedar

Я исправил проблему в своем приложении, предварительно компилируя активы локально на своей машине, а затем нажимаю их на Heroku.

Предварительно скомпилировать активы:

RAILS_ENV=production bundle exec rake assets:precompile

Добавить/скопировать изменения в репозиторий git:

git add public/assets
git commit -m "vendor compiled assets"

Чтобы быть в безопасности, я сначала проверил все это на локальной ветке на моей машине, которую я нажал на Heroku, используя следующую команду (Heroku обычно игнорирует все ветки, кроме основной ветки, т.е. трюк):

git push -f heroku heroku-assetpipeline:master

Ответ 2

FWIW, у меня была такая же проблема, и я проверял все, что мог, и те, что были выше. Оказалось, что я должен был увеличить масштаб в моем браузере, находясь на локальном хосте, и у меня было стандартное увеличение моего производственного URL.

Это было так же просто, как сбросить масштаб в моем браузере на обеих страницах. Надеюсь, это поможет кому-то еще с той же проблемой.

Ответ 3

У меня такая же проблема. Когда я сравниваю код разработки и производства, происходит, что на машине разработки загружаются таблицы стилей и файлы javascript из загрузочного файла, в результате чего на производственном сайте (Heroku) имеется только одно приложение - XYZ.css и одно приложение - XYZ. JS.

Я не уверен, что это может быть проблемой с конвейером ресурса.

Возможно, кто-то подробно остановится на том, что нужно сделать (до) скомпилировать конвейер активов, чтобы развертывание на Heroku преуспело.

Ответ 4

Возможно ли, что вы предварительно скомпилировали свои активы локально в какой-то момент? Чтобы заставить heroku скомпилировать ваши ресурсы во время компиляции slug, вы можете переименовать свой public/assets/manifest.yml в public/assets/manifest.yml.bak, передать свой источник и нажать на герою.

Heroku предполагает, что вы скомпилировали свои ресурсы локально, когда он видит файл manifest.yml.

Ответ 5

У меня была такая же проблема, и я выполнял инструкции на нескольких разных страницах, включая документацию Heroku. Я размещаю здесь, чтобы помочь следующему парню, потому что, возможно, из-за изменений в Rails 4, Heroku или Github, но указанные выше направления для меня не работали. Однако я получил его, чтобы работать, и вот как.

Да, вы, вероятно, должны предварительно скомпоновать свои активы с помощью RAILS_ENV=production bundle exec rake assets:precompile, но после этого перейдите в папку "public/assets" и скопируйте "все".css ',' css.gz ','.json ','.yml ','.js ', которые начинаются либо с приложения, либо из манифеста. Переместите их в папку за пределами каталогов приложений. Сделайте это просто, чтобы что-то пошло не так. Убедитесь, что все эти файлы удалены из папки "общедоступные/активы/" приложений. Затем перезапустите сервер локальных рельсов и убедитесь, что ваше приложение все еще ведет себя так, как вы его намереваетесь. Затем перейдите на свою учетную запись Github и зайдите в каталог "public/assets/" вашего репозитория и удалите все те же файлы, которые вы только что сделали локально. Затем добавьте/зафиксируйте локально, затем нажмите на git, затем на герою, а walla вы закончите, он должен работать.

Обоснование этого, я полагаю, состоит в том, что, когда вы нажимаете на Heroku, он проверяет скомпилированные активы в вашем репозитории, и из-за этого, хотя я предварительно скомпилировал его локально, он все еще тянул некоторые конфигурации активов от предыдущих коммитов. Удаляя эти файлы, Heroku должен скомпилировать их во время нажатия. Одна вещь, которую я не пытался, которая может работать, - это просто перейти на другую ветку и удалить эти файлы и развернуть эту ветку на Heroku, так что сначала вы можете попробовать это, но это то, что сработало для меня.

Еще одно замечание: переименование файлов в .bak или .old Heroku по-прежнему считалось их постоянными посетителями и отображало их, поскольку они были оригинальными, которые не отображались должным образом.