2012-01-02 15 views
0

私は自分のRails 3.0.10アプリに投稿テーブルを持っています。特定のポストレコードをすべてではなくCSV形式にエクスポートするオプションをユーザーに提供したいと考えています。私のポストテーブルには多くのフィールドがありますが、タイトルと本文だけをエクスポートしたいだけです。CSVへのレコードをエクスポート

検索を行った後、明らかにこれを実行する最善の方法はFasterCSVです。 Ruby 1.9.2で既にビルドされているようです。ほとんどのチュートリアルは(レール1または2からの)古いものですが、これを達成する方法はまったく分かりません。

私は私のposts_controller.rb私はは、右のコードかもしれないと思う

def export_to_csv 
    @post = Post.find(params[:id]) 
    csv_string = CSV.generate do |csv| 
    csv << [@post.title, @post.body] 
    end 

# send it to the browsah 
send_data csv_string, 
      :type => 'text/csv; charset=iso-8859-1; header=present', 
      :disposition => "attachment; filename=post.csv" 
end 

に入れて試してみたが、私は私の見解では、それを使用する方法は考えています。理想的には、CSVファイルをエクスポートするためのリンクが必要ですが、私はそれがform_tagを通じて行われなければならないと考えていますか?

誰かが私を正しい方向に向けることができれば分かりますか?ありがとう。

+0

このリンクはあなたに役立つかもしれませんhttp://stackoverflow.com/questions/94502/in-rails-how-to-return-records-as-a-csv-file – PriteshJ

+0

検索のもう1時間後にそれを見て実験する。できるだけ早くソリューションを投稿します。 – cdotfeli

答えて

1

グーグルと実験の数時間後、私は答えを見つけました。作成し)、私の場合には(あなたはCSVに変身したいアクションにrespond_to do |format| format.csvを追加)posts_controller

3のdef show一部をhttps://github.com/dasil003/csv_builder

2:

1)この宝石をインストールします。 (私の場合はshow.csv.csvbuilderの)action.csv.csvbuilderファイルを開き、必要なデータを追加してください。(私の場合はcsv << [@post.title, @post.body]を追加してください)

4.ビュー内のCSVへのリンクを追加してください。

関連する問題