目前我正在将我的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
对此有何帮助?
答案 0 :(得分:1)
似乎您将文件存储在位置并发送以供下载并最终将其删除。
由于您删除了该文件,因此无法下载该文件。如果删除该行
File.delete "sample.xls"
它会起作用。
或者您可以使用send_data
方法代替send_file
方法。
例如:
send_data book,:filename => “sample.xls”,:type => “应用程序/ vnd.ms-EXCEL”
参考 send_data