環境は以下のとおりです。
Mac OSX 10.8
IDE Eclipse
Ruby1.9.3
Rails 3.2
Excelファイルのダウンロードさせたく、以下のようなエラーが発生してしまいました。
※ログ
ActionDispatch::Cookies::CookieOverflow (ActionDispatch::Cookies::CookieOverflow):
actionpack (3.2.9) lib/action_dispatch/middleware/cookies.rb:305:in `[]='
actionpack (3.2.9) lib/action_dispatch/middleware/session/cookie_store.rb:67:in `set_cookie'
実装は以下のような実装をしています。
def sendExcel(book)
tmpfile = Tempfile.new ["excel_tmp", ".xls"]
fileOut = JavaIOMod::FileOutputStream.new(tmpfile.path)
book.write(fileOut);
fileOut.close()
tmpfile.open
filename = "SI-Manage-" + Time.now.strftime('%y%m%d%H%M%S') + ".xls"
send_data(
tmpfile.read,
:disposition=>'attachment',
:type=>"application/excel",
:filename => filename
)
tmpfile.close(true)
end
※bookオブジェクトはRJB経由でJava版のPOIで生成されたオブジェクトです。
エラーとなるタイミングは、sendExcelの処理が完了した後です。
CookieOverflowがなぜ発生するのかもわからず、実装方法がよくないのでしょうか。
send_dataへのオプションの設定がよくないのか、、、、全くわからず2週間が経ちました。
どなたかご教授下さる方いませんか?