2017-02-14 12 views
0

У меня есть несколько файлов в общей папке моего приложения Rails, которые не являются частью конвейера активов (например, sitemap.xml или .js-файл для встроенного виджета).Обновление статических активов в общей папке с Rails3 на Heroku

Хотя у меня нет проблем с обновлением активов в папке public/assets, у меня возникают проблемы с обновлением этих статических файлов. Как ни странно, я могу добавить новые файлы, но я не могу обновить существующие. Когда я обновляю их в процессе разработки, изменения не учитываются в производственной среде (Heroku).

Я пробовал много вещей, но не могу найти решение. Есть идеи ?

ответ

-1

Папка /public/assets автоматически сгенерирована, поэтому вы не можете напрямую вставлять в нее файлы. Фактически, эта папка должна быть в вашем .gitignore, что объясняет, почему ваши изменения не распространяются на производство. То есть, они не включаются в ваши коммиты.

Полностью статические активы, такие как ваш sitemap.xml, должны войти в папку /public. js файлы и другие, которые на самом деле являются частью оформления сайта, должны находиться в одном из /app/assets/javascripts (для кода только для этого сайта), /lib/assets/javascripts (для кода, который вы делите среди своей компании/проектов), /vendor/assets/javascripts папок (для кода из внешних источников) ,

Вы можете прочитать здесь: http://guides.rubyonrails.org/asset_pipeline.html

+0

Спасибо, но вы действительно не ответили на вопрос. Я действительно говорю о файлах в общей папке (не public/assets) – Emmanuel

0

Heroku имеет неизменяемую файловую систему, а значит, вы не можете вносить изменения, или дополнение к файловой системе. Вам понадобится другая стратегия. Служите файлы из другой службы, поместите их в db или привяжите их внешне к чему-то вроде Amazon S3.

Но я не уверен, что я точно понимаю, в какой части процесса вы обращаетесь. Вы говорите о файлах, которые сгенерированы в сборке или файлы, которые были изменены во время работы службы?

+0

Для примера у меня есть файл sitemap.xml в моей общей папке, в которую я хотел бы добавить дополнения, или файл widget.js в той же папке I Мне нравится редактировать. Прямо сейчас я должен создать новый файл widget2.js и указать на этот новый файл, я не могу поменять widget.js в процессе производства. – Emmanuel

+0

Каков ваш поток развития? Вы говорите, что вы вносите изменения в свое репо (git я предполагаю), а затем нажимаем эти изменения на Heroku, вы не видите изменений, когда сайт начинает резервное копирование? Используете ли вы Heroku CLI для интеграции или интеграции GitHub? –

+0

Да, вот что я говорю - я использую CLI Heroku – Emmanuel