Rails 6, развернутый на Heroku, не будет обновлять таблицы стилей - PullRequest
0 голосов
/ 21 сентября 2019

Я создал приложение Rails 6 и развернул его в Heroku.Но любые изменения, которые я делаю в таблице стилей, не отражаются.Похоже, что вся документация Heroku и вопросы / ответы SO больше не относятся к текущей настройке Rails в этом отношении.Я мог бы предварительно скомпилировать ресурсы, прежде чем отправлять их в Heroku, но я бы предпочел этого не делать.И на самом деле я нашел «решение», но это больше похоже на взлом, чем на реальное решение.Если я открою config / initializers / assets.rb и изменим инструкцию:

Rails.application.config.assets.version = '1.0'

на

Rails.application.config.assets.version = '1.1'

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

1 Ответ

0 голосов
/ 21 сентября 2019

Вы должны скомпилировать ресурсы с конца heroku (т.е. на вашем сервере в Heroku), поэтому после отправки кода в Heroku выполните:

$ heroku run rake assets:precompile
# If above doesn't work
$ heroku run RAILS_ENV=production rake assets:precompile

Кроме того, полезно добавитьПапка public/assets (или любая другая папка, которая прекомпилируется) в ваш файл .gitignore, поэтому, если вы прекомпилируете ресурсы в вашей локальной среде, это не испортит производственную среду, когда вы отправляете ее в Heroku.Но каждый раз, когда вы меняете какой-то CSS и нажимаете на heroku, вам нужно предварительно откомпилировать ресурсы в конце Heroku с помощью приведенной выше команды.

...