Чтение данных заголовка в Ruby on Rails


97

Я делаю API, в котором токен доступа для входа в Facebook будет отправлен через данные заголовка.

Как мне прочитать эти данные из шапки?


3
Ключевые слова для поиска: "запрос заголовка рельсов".
Серджио Тюленцев 06

16
@SergioTulentsev Именно это привело меня сюда.
YoTengoUnLCD

Ответы:


155
request.headers["Content-Type"] # => "text/plain"

замените Content-Type названием заголовка, который вы хотите прочитать.

Обновление для Rails 4.2

Есть два способа получить их в Rails 4.2: Старый способ (все еще работает):

request.headers["Cookie"]

Новый способ:

request.headers["HTTP_COOKIE"]

Чтобы получить хеш со всеми заголовками запроса.

request.headers

22

Rails теперь присоединяет HTTP_ к заголовку, а также преобразует его во все заглавные буквы, так что теперь это будет:

request.headers["HTTP_CONTENT_TYPE"]

у меня есть деньги, которые говорят, что стойка не рельсы. хотя мог и ошибаться
j_mcnally

-7

Чтобы получить хеш фактических заголовков http, используйте @_headersв контроллере.


4
Доступ к таким переменным экземпляра напрямую - это действительно плохой тон. Это подчеркивание служит напоминанием о том, что этого не следует делать.
tadman 09
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.