Rails 3响应头

时间:2011-07-27 10:46:24

标签: ruby-on-rails-3

哇,这是一个多么棒的网站!我希望这个问题符合要求: - )

通常,这个问题是关于如何在使用render方法时在Rails中设置响应头。具体来说,我有一个文档的降价版本,我希望浏览器默认保存为文件,而不是显示。我发现您可以使用head方法设置标头,如下所示:

respond_to do |format|
  format.html {...
  format.text { head(:content_disposition => "attachment") }
end

但是render的选项不能像这样工作,我找不到任何事先从控制器访问标题。有人可以提供建议吗?

感谢您抽出宝贵时间阅读我的问题。

2 个答案:

答案 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

这样做可以吗?