通常,这个问题是关于如何在使用render
方法时在Rails中设置响应头。具体来说,我有一个文档的降价版本,我希望浏览器默认保存为文件,而不是显示。我发现您可以使用head
方法设置标头,如下所示:
respond_to do |format|
format.html {...
format.text { head(:content_disposition => "attachment") }
end
但是render
的选项不能像这样工作,我找不到任何事先从控制器访问标题。有人可以提供建议吗?
感谢您抽出宝贵时间阅读我的问题。
答案 0 :(得分:2)
是使用#headers方法
respond_to do |format|
format.html {...
format.text do
headers[:content_disposition] = "attachment; filename=\"filename.ext\""
render...
end
end
答案 1 :(得分:0)
我不确定答案是什么,但是对其他文章的快速搜索得出了这样的结论:Rails; save a rendered views html content to file
这样做可以吗?