Rails - Não é possível importar dados do arquivo CSV
Estou tentando importar dados de um arquivo CSV, não quero salvar o arquivo. Eu encontrei uma pergunta semelhante aqui:Ruby on Rails - Importar dados de um arquivo CSV
No entanto, quando tento usar esta solução, recebo um erro.
Meu formulário é o seguinte:
Import a CSV file
<%= file_field_tag :file %>
<div class="actions form-group" id="button_text">
<p>
<%= button_tag(type: 'submit', class: "btn btn-primary button-submit") do %>
Submit
<% end %>
Na nova página, o envio deste formulário chama a ação create, a ação create chama a linha:
Product.import(params[:file])
Eu tenho o seguinte método de importação no meu modelo:
def self.import(myfile)
require 'csv'
csv_text = File.read(myfile)
csv = CSV.parse(csv_text, :headers => true)
csv.each do |row|
end
end
onde 'myfile' é params [: arquivo].
Estou ciente de que ainda não estou fazendo nada com os dados. Estou recebendo um erro com a linhacsv_text = File.read(myfile)
que é: Não existe esse arquivo ou diretório @ rb_sysopen - X.csv
Ao procurar uma solução, vi o .path ser usado. Se eu mudar esta linha paracsv_text = File.read(myfile.path)
Eu recebo o erro: método indefinido `path 'para" X.csv ": String
Alguém pode ajudar? Sinto que devo estar muito perto de uma solução, mas continuo girando e girando entre esses dois erros. É possível obter os dados do csv sem salvá-los primeiro?
Obrigado pelo seu tempo