ruby-on-rails - Rails 如何 - 使用 send_data 导出数据然后 redirect_to 新页面?

标签 ruby-on-rails

我有一个 Rails 应用程序,允许用户下载生成的 CSV 文件。下载文件后,我想将用户重定向到新的 URL 或操作。在 send_data 之后进行重定向是否有技巧?

我想做这样的事情(这是行不通的):

send_data(output,:type => content_type,:filename => "myfile.csv")
redirect_to :controller => 'my_controller', :action => 'download_done'

最佳答案

send_data 是一个渲染,因此您不能在 Controller 方法中执行任何操作。

解决它的方法都涉及 Javascript。这是我一起破解但从未真正喜欢过的一种方式:

  • 用户点击提交
  • 弹出小窗口并连接到 Controller 下载文件
  • 主窗口重定向到下一页

最终我将文件生成变成了后台作业。然后用户转到工作页面(不需要后续重定向)以获取文件。

关于ruby-on-rails - Rails 如何 - 使用 send_data 导出数据然后 redirect_to 新页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57049931/

相关文章:

ruby-on-rails - rails : why cannot delete dependent table if dependent: :destroy allowed?

ruby-on-rails - AngularJS - 如何从 Rails 后端获取 PDF(或其他二进制文件)?

ruby-on-rails - 我使用葡萄时得到 'Document is empty'

ruby-on-rails - 如何在 Ruby on Rails 中实现由 JSF 2.0 (Primefaces) 驱动的 UI 魔法

javascript - 在基本 Rails 4 应用程序中开始使用 d3.js 的挑战

ruby-on-rails - Rails 服务器 (4.0.0) 无法启动 - 错误 : LoadError:8 lib/mysql2. rb :8:in `require' : libmysqlclient. so.18

ruby-on-rails - Rails link_to/form_for/等。带有用于路径和 URL 查询参数的数组

javascript - 单击启用禁用的单选按钮 Rails 应用程序

javascript - 定义多个布局 emberjs

ruby-on-rails - Ruby on Rails 中的复合实体脚手架