#ruby-on-rails #csv #heroku
#ruby-on-rails #csv #heroku
Вопрос:
Я продолжаю получать сообщение об ошибке, что имя файла слишком длинное. Я использую rails на Heroku, поэтому я пытаюсь сохранить загруженный файл в облаке, а затем импортировать, чтобы он не был потерян на их динамо.
Я хочу создать новый объект для каждой строки в csv. Синтаксический анализ CSV отлично работал раньше при разработке при использовании временного файла. Но я должен изменить это для Heroku.
Что не так в том, что мой код для удаленного csv анализируется правильно?
def self.import_open_order(file_url)
open(file_url) do |file|
CSV.parse(self.parse_headers(file.read), headers: true) do |row|
...
Комментарии:
1. Является ли файл csv настолько большим, что вы не хотите передавать его в приложение при нажатии? Если нет, просто добавьте его в корневую папку своих приложений и зафиксируйте, а затем нажмите. Затем вы можете получить его из приложения и избежать проблемы с URL.
2. Это новый файл csv, загружаемый каждый день в течение недели
Ответ №1:
Это исправило
def self.import_open_order(file)
imported_file = open(file)
CSV.parse(self.parse_headers(imported_file), headers: true) do |row|
С тех пор open(file).class = Tempfile
… Я смог просто создать временный файл и передать его через CSV.parse
Клянусь, я уже пробовал это, но теперь это работает!