понедельник, 14 декабря 2015 г.

Rails parser for CSV files

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'

Комментариев нет:

Отправить комментарий