Я знаю, как загружать файлы, прикрепляя файл к моему запросу, используя has_one_attached в модели.
Но моя цель - загрузить содержимое моего CSV-файла, а не сам файл. (у файла csv также есть заголовок, который я хотел бы использовать) Как настроить контроллер и модель, чтобы включить это?
Немного справочной информации: я использую процесс ETL для преобразования файлов CSV и хотел бызагрузить содержимое этих файлов CSV в моем API. Будет загружено много больших файлов, и я хотел бы избежать внесения изменений в файл вручную.
Для этого вопроса достаточно небольшого примера:
testfile1.csv
name;age;gender
max;23,m
lisa;12;f
gustavo;69;m
bernd;4;d
Я видел этот метод для файлов CSV, но у меня нет идеи, как реализовать его для моего использования
CSV.foreach(params[:file].path, headers: true) do |row|
Model.create(name: row[0], age: row[1], gender: row[2])
end
Создает ли Model.create новую модель, поэтому мне не нужноимя, возраст и пол в моей модели или как это работает? Я использую это в сервисе? Является ли params [: file] способом доступа к разрешенным атрибутам?
Это мой первый вопрос, и я довольно неопытен, надеюсь, я включил все необходимое. Заранее спасибо