2

現在、RailsアプリをRails 3からRails 4にアップグレードしています。サーバーを実行した後、スプレッドシート(0.7.1)を使用しています 。main::objectの未定義メソッド「send_file」を取得しました 。これは私のコードです:

def financial_export_excel
    book = Spreadsheet::Workbook.new
    sheet = book.create_worksheet
    sheet.merge_cells(5, 0, 6, 0)
    sheet.merge_cells(5, 1, 6, 1)
    sheet.merge_cells(5, 2, 6, 2)
    sheet.merge_cells(5, 3, 6, 3)
    sheet.merge_cells(5, 4, 6, 4)
    sheet.merge_cells(5, 5, 6, 5)
    sheet.merge_cells(5, 6, 6, 6)
    sheet.merge_cells(5, 7, 6, 7)
    sheet.merge_cells(5, 8, 6, 8)
    book.write "sample.xls"
    send_file "sample.xls"
    File.delete "sample.xls"
end

これについて何か助けはありますか?

4

1 に答える 1

1

ファイルを所定の場所に保存し、ダウンロード用に送信して、最後に削除しているようです。

ファイルを削除したため、ダウンロードできません。ラインを外すと

File.delete "sample.xls"

それが動作します。

send_dataまたは、メソッドの代わりにメソッドを使用できますsend_file

例えば:

send_data book, :filename => "sample.xls", :type => "application/vnd.ms-excel"

send_data を参照

于 2013-11-06T05:23:57.020 に答える