Я хочу импортировать CSV-файл с заголовком в приложение rails.
В моей модели есть следующее:
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
puts(*attribute_names)
puts(row.to_hash)
@distrib = Distrib.create! row.to_hash
end
end
Мой контроллер:
def import
Distrib.import(params[:file])
redirect_to distribs_path, notice: "Contact imported."
end
Мой взгляд:
<%= form_tag({action: :import}, multipart: true) do %>
<%= file_field_tag :file %>
<%= submit_tag "Import" %>
<% end %>
Мне удалось создать нужное количество записей, но все они пусты.
puts(row.to_hash)
возвращает следующее:
{"email;first_name;last_name;telephone;company;address;city;country;memo"=>"Etienny@yahoo.fr;Etienne;Ton;22142536475;HKM;456 Fifth Avenue;New York;US;Met at Uni"}
Как правильно обработать эти строки для вставки в базу данных PostgreSQL?