将CSV导入添加到ROR应用程序
我在在线订购应用程序中为批量订单添加了CSV导入。 基本上我要做的是用CSV数据创建一个购物车。
我创建了一个imports_controller:
require 'csv' class ImportsController < ApplicationController def csv_import num_imported = 0 num_failed = 0 CSV.foreach(params[:dump][:file].csv) do |row| c = CsvImport.new( 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] ) if c.save num_imported += 1 else num_failed += 1 end end flash.now[:message] = "CSV Import Successful, #{num_imported} new records added to data base. #{num_failed} failed to import." end end
它在日志中生成以下错误:
NameError (uninitialized constant ImportsController::CsvImport): app/controllers/imports_controller.rb:11:in `block in csv_import' /usr/local/ruby/lib/ruby/1.9.1/csv.rb:1761:in `each' /usr/local/ruby/lib/ruby/1.9.1/csv.rb:1202:in `block in foreach' /usr/local/ruby/lib/ruby/1.9.1/csv.rb:1340:in `open' /usr/local/ruby/lib/ruby/1.9.1/csv.rb:1201:in `foreach' app/controllers/imports_controller.rb:10:in `csv_import'
CSV导入表单位于快速订单页面中:
Import CSV Order
{:controller=>"imports", :action=>"csv_import"}, :html => { :multipart => true } do |f| -%>
"my_cart/partials/cart_item", :locals => { :cart_item => item } %>
Total:
true, :size => "10", :class => "readonly", :style => "color: #C31E22; text-align: right; font-weight: bold;") %>