2011-05-10 66 views
1

我試圖使用電子表格的寶石在我的Rails應用程序,但我得到了以下錯誤:Rails的「不能將電子表格::工作簿轉換成String」

can't convert Spreadsheet::Workbook into String 

這是我的代碼:

require 'spreadsheet' 

def create_spreadsheet_from_array(array) 
    Spreadsheet.client_encoding = 'UTF-8' 
    book = Spreadsheet::Workbook.new 
    ... 
end 

我在做什麼錯?

+0

你看到的不是來自你所提供的代碼的簡短片段中的錯誤。你需要提供更多的代碼。另外,請查看異常中包含的回溯,以幫助查找觸發此事件的代碼行。 – 2011-05-10 14:56:02

回答

0

從您的有限的細節我最好的猜測是你的代碼試圖在視圖模板中輸出呈現的電子表格文件。你需要在你的控制器中使用send_file。下面是一個簡單的例子(但我真的不建議有在控制器中的電子表格代碼):

class MyController < ApplicationController 
    def download_xls 
    filename = "example.xls" 
    tempfile = Tempfile.new(filename) 
    workbook = Spreadsheet::Workbook.new 
    ... 
    workbook.write(tempfile.path) 
    send_file tempfile.path, :filename => filename 
    end 
end 
+0

謝謝!我正在使用send_file不正確。 – 2011-05-14 15:04:32

相關問題