我正在使用'to_xls'創建xls的寶石。所以,我有這樣的:用xls附件發送郵件而不生成文件
my_xls = User.all.to_xls
現在我想用的ActionMailer發送它,我想這樣的:
attachments[my_xls.original_filename] = {
:content=>my_xls.read,
:mime_type=>my_xls.content_type
}
但我驚訝的是,my_xls不是一個文件,而是一個字符串。我想我可以通過打開一個新文件並寫入字符串來解決這個問題,但是我使用Heroku,它不喜歡寫入文件(Permission denied)。最好的解決方案是生成類似文件的流數據(如從HTML表單獲取文件)併發送它。
我需要類似rails send_data控制器方法,它將數據流發送到視圖而不生成新文件。
那麼,我該怎麼做呢?