1

レンダリングのExcelファイル(http://railscasts.com/episodes/362-exporting-csv-and-excel)に関するrailscastsチュートリアルに従いました。 宝石を使って書き直すのを避けようとしているので、既にたくさんのコードがあります。ユーザーにダウンロードさせる代わりに、どのようにrails/tempディレクトリに書き込むことができますか?生成された後、私はそれを電子メールに添付して、ユーザーに長時間待たせるのではなく、ユーザーに送信します。今私の問題は、tempディレクトリに書き込む方法です。xlsをtmpフォルダに書き込む方法

def mymethod 
    @products = Product.order(:name) 

    respond_to do |format| 
    format.xls 
    end 
end 

私たちはレール3.2を使用しています。

+0

にCSVを作成する方法のかなり一般的な例はありますか? –

答えて

0

これは、あなたがこの上の任意の進歩を遂げることができましたtmpファイル

require 'csv' 

def my_method 
    @products = Product.order(:name) 

    product_csv = CSV.generate do |csv| 
      #you have to add values to CSVs inside arrays 
      csv << %w(column_name1 coulmn_name2 column_name3) 

      @products.each do |pd| 
      csv << [pd.name, 
        pd.price, 
        pd.product_line] 
      end 
     end 

    File.open("tmp/product.xls", 'w:UTF-8') {|file| file.write(product_csv)} 
end 
関連する問題