2015-11-27 67 views
0

我想從我的rails應用程序中的標題中獲取一些值。如果我遍歷request.headers像rails request.headers無法獲得值

request.headers.each do |k,v| 

我得到我需要的所有東西(和更;-)):

HTTPS: on 
HTTP_ACCEPT_ENCODING: gzip, deflate 
givenName: MemyselfandI 
mail: [email protected] 

但是我只能訪問HTTP報頭,如「HTTP_ACCEPT_ENCODING」等我無法訪問例如mail:

request.headers['mail'] 

is nil。

有無論如何得到「郵件」和「givenName」等值?

由於提前, 斯文

+0

你爲什麼期望得到'郵件頭?這不是標準的HTTP頭,你確定它被髮送,它不是由中間代理或類似的東西削減?此外,Rails爲請求中的頭添加前綴'HTTP_',例如'ACCEPT_ENCODING'是一個標準頭,但只能使用前綴'HTTP_ACCEPT_ENCODING'。你確定在請求標題中沒有頭文件'HTTP_mail'嗎? – andrykonchin

回答

0

同時,我找到了解決辦法:

request.headers.env['key'] = value 

所以,你有郵件的價值得到

request.headers.env['mail'] 

一切順利, Sven