我将 Ruby 1.9.2 与 Rails 3.2.1 一起使用。
我想创建一个视图来上传 CSV 或制表符分隔的文件,并使用表格或分页显示在同一页面上显示文件的内容,然后在 JavaScript 中处理该数据。
我怎样才能做到这一点?请带我浏览您拥有的任何代码示例,我也是 Ruby 的菜鸟。
我将 Ruby 1.9.2 与 Rails 3.2.1 一起使用。
我想创建一个视图来上传 CSV 或制表符分隔的文件,并使用表格或分页显示在同一页面上显示文件的内容,然后在 JavaScript 中处理该数据。
我怎样才能做到这一点?请带我浏览您拥有的任何代码示例,我也是 Ruby 的菜鸟。
首先,编写一个视图来上传您的文件。您可以为此使用回形针。
假设您有一个资源Csv
,您的上传表单可能如下所示:
<%= form_for @csv, :url => csv_path, :html => { :multipart => true } do |form| %>
<%= form.file_field :attachment %>
<% end %>
您的型号:
class Csv < ActiveRecord::Base
attr_accessible :attachment
has_attached_file :attachment
end
您的控制器操作:
def create
@csv = Csv.create( params[:csv] )
# your save and redirect code here
end
def show
@csv = Csv.find(params[:id])
end
有了这个,你可以在你的视图中使用这样的东西:
CSV.foreach(@csv.attachment.path) do |row|
# use the row here to generate html table rows
end
注意:这只是一个关于如何做到这一点的一般概念,您需要将资源添加到您的路线中,安装和配置 Paperclip gem,等等 - 阅读有关如何做所有这些的文档。
只需使用一个不错的 Ruby gem 来解析 CSV 文件。这应该为您指明正确的方向。http://fastercsv.rubyforge.org/