请求中的自定义标头未显示在Rails后端中

时间:2014-08-28 21:19:03

标签: ruby-on-rails http ruby-on-rails-4

我正在iOS中的Android中使用Rails 4 API后端和移动应用程序。使用 Nginx 和Unicorn。

要获取某些数据,cliens必须在请求的标题中向我发送(以及其他内容)用户ID。我们使用自定义标头,例如WWW_CUSTOM_NAME,解释here。我知道在Rails 4中,我可以通过执行类似

的操作来捕获这些自定义标头中的值
request.headers["HTTP_WWW_CUSTOM_NAME"]

事实上,我和我的团队每次都在开发中工作。但是,当我们将代码推送到生产服务器时,该方法无效。

这几乎就像自定义标题在生产中消失了。我尝试了同样的事情,没有额外的“HTTP_”,删除大写字母,没有任何效果。但在开发工作中没问题。

知道为什么必须这样吗?

1 个答案:

答案 0 :(得分:8)

如果您使用的是nginx,this可能是您的问题

您有两个选择

  1. 更改自定义标头以使用X-WWW-CUSTOM-NAME
  2. 开启underscores_in_headers
  3. 我认为第一种选择会更好