web-dev-qa-db-ja.com

railsでデータをCSVにエクスポートする

Rails appl。このプラグインを見つけました: https://github.com/crafterm/comma 。でCSVとしてデータをエクスポートする必要があります。より良い解決策について知っていますか? ?

21
boblin

Ruby 1.9.xを使用する場合は、FasterCSVではなくCSVを使用し、デフォルトの区切り文字を使用します。

コントローラ:

respond_to do |format|
  ...           
  format.csv { render :layout => false }
end

show.csv.erb:

<%= this_is_your_view_helper_method.html_safe %>

controller_helper.rb:

require 'csv'

def this_is_your_view_helper_method
  CSV.generate do |csv| 
    Product.find(:all).each do |product|
      csv << ... add stuff here ...
    end
  end
end
38
hade

このスタックオーバーフローをチェックアウト answer Ruby 1.9.xでCSVを使用する場合(Fletchが指摘したように、FasterCSVが含まれていますが、構文が少し異なります)。

2
douglasr