我正在关注这个http://railscasts.com/episodes/362-exporting-csv-and-excel,看起来非常直截了当。我已经包含了'csv'并将代码放在控制器索引文件和模型中。
现在,当我点击/products.csv时,它确实导出了csv中的产品列表,但是没有实际数据,而是有#这样的条目,我做错了什么?
编辑 - 这是product.rb
attr_accessible :name, :size, :email
def self.to_csv
CSV.generate do |csv|
csv << column_names
all.each do |product|
csv << product.attributes.values_at(*column_names)
end
end
end
答案 0 :(得分:0)
在您的产品控制器中定义如下方法:
def export_csv
@Products = Product.find(:all)
csv = CSV.generate do |csv|
# header row
csv << ["product_name","product_type"]
# data row
@products.each do |t|
csv << [t.product_name, t.product_type]
end
end
send_data(csv, :type => 'text/csv')
end
在你的路线中:
匹配'csv'=&gt; 'products#export_csv',:as =&gt; :CSV
在您的视图中为CSV提供链接:
link_to“CSV”,csv_path