【发布时间】:2018-07-09 15:03:53
【问题描述】:
在我的控制器操作PagesController#transfer 我想下载一个 xml 文档,然后重新加载页面。
但是xml文档是用render_to_string生成的,所以当我下载文件后尝试添加重定向时出现错误。
这样做的目的是在下载 XML 后得到一个 flash 消息。所以重新加载页面似乎是一个不错的选择。
pages_controller
def transfer
...
multiple_export_to_sepa(objects, @errors)
end
private
def multiple_export_to_sepa(objects, errors)
sepa_filename = "virements_#{params[:type]}.xml"
if objects.present?
stream = render_to_string(template: "admin/pages/transfers_#{params[:type]}.xml", layout: false)
send_data(stream, type: 'text/xml', filename: sepa_filename , status: :created)
flash[:success] = "#{objects.length} objects has been generated."
redirect_to action: :transfer
else
redirect_to action: :transfer
end
end
【问题讨论】:
标签: ruby-on-rails ruby