【发布时间】:2012-12-20 16:54:49
【问题描述】:
我正在学习 Rails,正在尝试创建一个文件上传页面来处理 CSV 数据,而无需使用我的数据库或模型。我也尽量避免使用任何宝石,例如回形针或载波。
我取得了一些进展,但由于某种原因,我的代码无法正常工作。我没有得到 import.html.erb page. 上显示的 CSV 文件中的记录
当我单击页面上的上传按钮:localhost:3000/upload 时,它会在提交后正确地将我重定向到预期的页面,但文件中的行不会出现。
有人知道为什么页面不显示 CSV 文件中的记录吗?
上传文件视图(index.html.erb):
<%= 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>
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 paperclip