我正在使用'to_xls' gem 生成一个 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,它不喜欢写入文件(权限被拒绝)。最好的解决方案是生成类似文件的流数据(例如从 HTML 表单中获取文件)并发送它。
我需要类似 rails send_data 控制器方法的东西,它将数据流发送到视图而不生成新文件。
那么,我该怎么做呢?