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  

ルート内:
match 'csv' => 'products#export_csv', :as => :csv
ビューで CSV のリンクを指定:
link_to "CSV", csv_path

于 2013-03-09T09:38:41.100 に答える