Я недавно обновился до Rails 6 с веб-пакетом. Это когда я начал замечать эту проблему. У меня есть метод send_data в контроллере, который работает в формате csv или pdf (Prawn). В настоящее время испытывают эту проблему с CSV.
В процессе разработки я создал метод для self.to_csv
в models / user.rb и использовал его для загрузки некоторых данных в файл CSV. Я развернул файл на своем производственном сервере. И загрузил файл туда.
Затем я внес изменения в столбцы, которые будут напечатаны в этом файле. Я сразу увидел изменения в разработке. Я внедрил эти изменения в производство, но все равно получил старые столбцы. Я проверил файлы на сервере, и у них есть обновления.
В Rails 5 я бы сразу увидел эти изменения и в производстве. Есть ли способ, которым я могу ускорить сервер здесь? Пере кэшировать файлы? Et c.
Вот мои файлы.
В controllers / users_controller.rb :
def index
respond_to do |format|
format.csv {
send_data User.all.to_csv
}
end
end
В моделей / user.rb :
def self.to_csv
attributes = %w{first_name last_name id}
CSV.generate(headers: true) do |csv|
csv << attributes
all.each do |obj|
csv << [obj.first_name, obj.last_name, obj.id]
end
end
end
У меня изначально было просто напечатать имя и фамилию в CSV. Это то, что я до сих пор получаю в работе.
А вот мой конвейер развертывания:
$ yarn install --check-files
$ rails db:migrate
$ RAILS_ENV=production rails assets:precompile
$ touch tmp/restart.txt
Запуск Rails 6.0.2.2, Webpack 4.42.0 и Ruby 2.5.5 на Passenger , Хостинг от Dreamhost.