在阅读了以下问题(使用密钥 HTTP_AUTHORIZATION 而不是 Authorization 访问的 Ruby on Rails 中的 Authorization 标头?)后,我遇到了与 OP 类似的问题,但建议的答案似乎无法解决我的问题。
我在对本地托管服务器的调用中定义了一个自定义标头(通过 Postman):
@Igor:我实际上使用 Postman,所以我只是添加了 curl 代码来演示我做了什么。我想最好包括一个屏幕截图:
这是我的控制器中尝试读取所述标题的代码:
def authenticate_through_header
custom_header_value = request.headers['custom_header']
end
不过,这次回归nil
。另一方面,request.headers['HTTP_CUSTOM_HEADER']
返回值。根据我最初链接的问题,我应该能够通过在括号 [] 中传递名称来获取值 - 这是在较新的 Rails 版本中更改的内容吗?
干杯:-)
更新:它也可以通过以下方式访问变量:request.headers['custom-header']
. 所以显然用连字符替换下划线是可行的,这看起来很奇怪。