簡體   English   中英

將記錄導出到CSV

[英]Export A Record To CSV

我的Rails 3.0.10應用程序中有一個Posts表。 我想讓我的用戶可以選擇將特定的郵政記錄導出為CSV格式,而不是全部導出。 盡管我的Post表有很多字段,但我只想導出標題和正文。

進行一些搜索之后,最好的方法是通過FasterCSV。 顯然,它已經在我使用的Ruby 1.9.2中構建。 幾乎所有的教程都已經過時了(從Rails 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完成嗎?

如果有人能指出我正確的方向,將不勝感激。 謝謝。

經過數小時的谷歌搜索和實驗,我找到了答案。

1.)安裝此gem: https : //github.com/dasil003/csv_builder

2.)添加respond_to do |format| format.csv respond_to do |format| format.csv轉換為您要轉換為CSV的操作(在我的情況下, def show posts_controller的一部分

3.)創建一個action.csv.csvbuilder文件(在我的情況下為show.csv.csvbuilder)並添加所需的數據(在我的情況下,添加csv << [@post.title, @post.body]

4.)在視圖中添加指向CSV的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM