0

我正在关注这个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
4

1 回答 1

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' => 'products#export_csv', :as => :csv
在您看来,请提供 CSV 链接:
link_to "CSV", csv_path

于 2013-03-09T09:38:41.100 回答