Hi,
i implemented the task of importing data from csv into MySQL database
successfully. Now, my requirement is: i need to get error message with
line number, if there is any mis match of data in csv file while
importing.
This is my controller code:
require ‘csv’ #at the top and followed by…
def load_csv
no code
end
def import_csv
parsed_file = CSV.foreach(params[:csv].tempfile,:headers => true) do
|row|
row = row.to_hash.with_indifferent_access
Institute.create!(row.to_hash.symbolize_keys)
redirect_to :action => :index
end
In my view/ load_csv.html.erb:
<%= form_for(:institute, :url => import_csv_institutes_path, :html =>
{:multipart => true}) do |f| %>
In config/route.rb:
resources :institutes do
get ‘load_csv’, :on => :collection
post ‘import_csv’, :on => :collection
end
I tried for flash message before redirect_to :action => :index in
import_csv, but its of no use… TH eflash is not working.
The above are the only three steps i used for importing. Model
validations are working only for form and for csv, an error page
displayed… Please try to help me out…