ruby on rails - ROR import csv file: undefined method -
i adding import csv online ordering app previous question include ror import csv file no method error, adding csv import ror application. thank have helped in other questions.
the error:
nomethoderror (undefined method `build_from_csv' #<class:0x9ddd82c>): app/controllers/imports_controller.rb:14:in `block in imports' /usr/local/ruby/lib/ruby/1.9.1/csv.rb:1761:in `each' /usr/local/ruby/lib/ruby/1.9.1/csv.rb:1370:in `parse' app/controllers/imports_controller.rb:10:in `imports' the imports_controller:
require 'csv' class importscontroller < applicationcontroller def imports logger.info "file loaded" infile = params[:dump][:infile].read n, errors = 0, [] @archive = [] csv.parse(infile) |row| n += 1 # skip: header i.e. first row or blank row next if n == 1 or row.join.blank? imports = order.build_from_csv(row) if imports.valid? imports.save @archive << row else errors << row end end logger.info errors flash[:success] = "the csv imported successfully" respond_to |format| format.html # index.html.erb format.json { render :json => @archive } end end originally had models/imports.rb moved models/order.rb since trying add csv date table:
def self.build_from_csv(row) #last_level = (row[5].downcase == "yes" orders = orders.new(:imports => "#{row[0]}}", :cart_items => "#{row[1]}", :cart_items_quantity => "#{row[2]}", :cart_items_price => "#{row[3]}", :cart_items_description => "#{row[4]}", :cart_items_upc => "#{row[5]}", :cart_items_sku => "#{row[6]}") # :last_level=> last_level) return imports end for line error:
imports = order.build_from_csv(row) i have tried
imports = imports.build_from_csv(row) i used order since table cart items inserted no luck. tried:
imports = csv.build_from_csv(row) ...
imports = infile.build_from_csv(row) and caused uninitialized constant. open suggestions other things try, again help!
Comments
Post a Comment