2016-07-27 15 views
1

スプレッドシートに複数のタブを作成するときは、定義されていないメソッドsend_dataが発生します。この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 [ヘルパーメソッド](http://api.rubyonrails.org/クラス/ ActionController/DataStreaming.html)。ブラウザにExcelスプレッドシートを表示しようとしているようですが、コードはヘルパーメソッドが許可されていないモデルにあります。 – MarsAtomic

答えて

1

send_dataがブラウザにバイナリデータ形式をレンダリングするために使用され、それがrails modelHereにづけしないsend_dataメソッドの公式ドキュメントです。あなたのケースでは

、私はあなたがあなたのExcelがそうちょうどSpreadsheetオブジェクトを返し、Excelファイルをレンダリングするためのコントローラでコードを書いたり、一時ファイルにそれを保存してによってcontrollerからそれをレンダリングすることができ、modelでgenration codeファイルに書いたと思いますそのファイルパスをsend_dataメソッドで指定します。

希望すると、これが役立ちます。

関連する問題