FasterCSV for importing users in rails -
hi, trying use fastercsv import users csv file
i have
<form action='/users/bulk_create' method='post'> <%= file_field_tag "csv_file" %><br/> <%= submit_tag("import") %> </form>
in users controller have method like
def bulk_create login, password, name, email = 0, 1, 2, 3 require 'fastercsv' parsed_rows=fastercsv.parse(params[:csv_file]) parsed_rows.each |row| puts "#{row[name]}" end end
when above , inspect in log getting error as
nomethoderror (undefined method `pos' nil:nilclass): app/controllers/users_controller.rb:688:in `bulk_create'
fastercsv not reading file @ all. how make read installed gem using sudo gem install fastercsv
since uploading file, must specify enctype
attribute form multipart/form-data
<form action='/users/bulk_create' method='post' enctype='multipart/form-data'>
secondly cannot pass params[:csv_file]
directly fastercsv, need sanity check data , save csv file.
have here, http://www.tutorialspoint.com/ruby-on-rails/rails-file-uploading.htm gives basics of file uploading. suggest looking @ file upload plugin "paperclip" or likes.
then after have saved file, , docs "fastercsv" suggest
#reading #from file #a line @ time fastercsv.foreach("path/to/file.csv") |row| # use row here... end
Comments
Post a Comment