【发布时间】:2010-10-27 09:58:14
【问题描述】:
我在控制器中设置了 Rails 3 代理方法,如果允许用户使用 Nginx 的 X-Accel-Redirect 从远程服务器传递特定的 URI。
不幸的是,Rails 总是发送某种 Content-Type 标头,它优先于从上游服务器返回的标头。我尝试了各种“说服”响应根本不包含任何 Content-Type 标头的方法,但它们要么没有效果,要么引发异常。响应正文当然是空的,因为无论如何它都会被忽略。
我试过的明显的没有用,因为值仍然是“text/html; charset...”:
response.headers['Content-type'] = ''
response.headers['Content-Type'] = nil
response.headers['Content-Type'] = ''
response.content_type = ''
response.content_type = nil
当然,设置特定的内容类型,如“image/gif”,可以按预期工作,但控制器无法确定要传递的内容,这与远程服务器不同。
在没有该标头的情况下发送响应的最佳(最干净?)方式是什么?
【问题讨论】:
标签: ruby-on-rails