Чтение CSV-файла, хранящегося в Active Storage, в Rails 6 - PullRequest
0 голосов
/ 29 мая 2020

Я использую Active Storage для загрузки файлов CSV, которые затем читаются для обновления значений в базе данных. Я установил для этого базовый c класс загружаемых файлов;

class VendorFile < ApplicationRecord
    has_one_attached :vendor_upload_file
    validate :acceptable_file
end

Я открываю файлы CSV с помощью метода открытия Rails 6 следующим образом:

self.vendor_upload_file.open do |file|
  CSV.foreach(file) do |row|
    do some processing....
  end
end

Это работает отлично подходит для обработки всего файла. Проблема заключается в том, что перед обработкой я хочу открыть файл и просто прочитать первую строку, чтобы убедиться, что файл имеет правильный формат. Я не могу найти способ открыть файл и прочитать только первую строку, если файл хранится в Active Storage. Кто-нибудь знает, как это сделать? Спасибо!

1 Ответ

0 голосов
/ 30 мая 2020

Как насчет?

headers = self.vendor_upload_file.open(&:first).parse_csv
...