In model file:
def self.import(file)
CSV.foreach(file.path, :col_sep => (";"), headers: true) do |row|
summa = row[1]
Record.where({datetime: row[0], summa: summa, desc: row[2]}).first_or_create
end
end
In Controller:
def import
Record.import(params[:file])
redirect_to records_path, notice: "Records added successfully"
end
In View:
<h3>Import</h3>
<%= form_tag import_records_path, multipart: true do %>
<%= file_field_tag :file %>
<%= submit_tag "Upload file" %>
<% end %>
In Routes.rb
resources :records do
collection { post :import }
end
In application.rb
require 'csv'
Комментариев нет:
Отправить комментарий