我正在学习Rails,并尝试创建一个文件上传页面来处理CSV数据,而无需使用我的数据库或模型.我也试图避免使用诸如Paperclip或Carrier-wave之类的任何宝石.
我已经取得了一些进展,但由于某种原因,我的代码不起作用.我没有收到显示在import.html.erb页面上的CSV文件中的记录.
当我点击我的页面上的上传按钮:localhost:3000 / upload,它会在提交后正确地将我重定向到预期页面,但是文件中的行不会显示.
<%= form_tag({:action => :import},multipart: true) do %> <%= file_field_tag :file %> <%= submit_tag( "Import" ) %> <% end %>
控制器(upload_controller.rb):
class UploadController < ApplicationController def index end def import rowarray = Array.new myfile = params[:file] CSV.foreach(myfile.path) do |row| rowarray << row @rowarraydisp = rowarray end end end
结果视图(import.html.erb):
<% @rowarraydisp.each do |row| %> <%= row %> <% end %> <h1>File has been uploaded. Check</h1>