Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 delay_job gem 的帮助下在后台生成 xls 文件。在此之后,我想将文件发送给用户。有没有办法在 delay_job 类的控制器之外调用 send_file 方法?
如果您将任务后台处理到delayed_job,则用户的请求将不再存在。如果它仍然存在,那么您根本不需要后台任务(因为它破坏了后台的整个目的)。
我的建议是在 delay_job 生成文件后将文件与相应的数据库记录一起保存到磁盘。当用户等待时,让 Ajax 偶尔询问服务器文件是否准备好。准备就绪后,使用 Ajax 对文件发出新请求、显示下载链接或任何最有效的方式。