2016-07-27 59 views
1

在電子表格中創建多個選項卡時,我收到未定義的方法send_data。我無法理解使用這種方法應該發送什麼數據。未定義的方法send_data

這是我的錯誤:

NoMethodError (undefined method `send_data' for #<Class:0x007f911933cc58>): 

book = Spreadsheet::Workbook.new 
     sheet1 = book.create_worksheet :name => 'Sheet1' 
     sheet2 = book.create_worksheet :name => 'Sheet2' 
     sheet1.row(0).push "some content in Column1" 
     spreadsheet = StringIO.new 

     book.write spreadsheet 
     file = "#{Rails.root}/public/brand_store/Excelsheet" 

     send_data spreadsheet.string, :filename => "#{file}", :type => "application/vnd.ms-excel" 
+0

也許有沒有'send_data'方法? –

+0

是的,我沒有創建send_data方法實際上不知道send_data方法發送什麼..我需要一個示例如何使用send_data方法發送數據 – Nishtha

+0

send_data是一個Rails [helper方法](http://api.rubyonrails.org/類/ ActionController的/ DataStreaming.html)。您似乎試圖在瀏覽器中顯示Excel電子表格,但您的代碼位於模型中,不允許使用幫助器方法。 – MarsAtomic

回答

1

send_data用於呈現二進制數據格式的瀏覽器,它是不是在入店rails modelHere對於send_data方法的官方文檔。

在你的情況,我想你在model寫下您的Excel文件genration code,所以才返回Spreadsheet對象和控制器編寫代碼使您的Excel文件,也可以將其保存到臨時文件,並從controller使它在send_data方法中提供該文件路徑。

希望這會有所幫助。