未定义的方法send_data

时间:2016-07-27 05:38:39

标签: ruby-on-rails ruby excel csv ruby-on-rails-4

在电子表格中创建多个标签时,我得到了未定义的方法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"

1 个答案:

答案 0 :(得分:1)

send_data用于向浏览器呈现二进制数据格式,rails model无法访问send_data code方法的官方文档。

在您的情况下,我猜您在model中编写了Excel文件格式Spreadsheet,所以只需返回controller对象并在控制器中编写代码以呈现您的Excel文件,或者您可以将其保存到临时文件中,并通过send_data方法提供该文件路径,从PROD_BRANCH_URL呈现它。

希望这会有所帮助。