2016-07-27 60 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方法中提供该文件路径。

希望这会有所帮助。