Rails предоставляет вам объект запроса, чтобы вы могли захватить все, что вам нужно, из заголовков вашего контроллера.
def some_action
@mime_type = request.headers["Content-Type"] # => "text/plain"
@token = request.headers["key-for-your-token-here"]
end
Вы можете либо передать его на ваш взгляд, или вы можете вставить его в тело ответа через request.body
как вы бы вставить любой ключ/значение пары в хэш.
Документация для ActionDispatch :: Запрос здесь: http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-headers
UPDATE:
сделать пользовательский метод и посмотреть, как долго он должен работать, чтобы перемещаться хэш заголовка. Если долго вы можете использовать его, чтобы найти точное гнездо того, что вы ищете, и изменить его.
def find_token(parent, request.headers)
request.headers.each {|key, value|
if value.is_a?(Hash)
find_token(key, value)
elsif key == 'THE TOKEN KEY HERE'
return value
else
next
end
}
end
, когда я 'request.headers [ "доступ-маркер"]' возвращает 'nil' но результат корректен с' request.headers [ "Content-Type"] ' –
Это означает, что вы» не получив правильного ключа. Сам ключ может быть вложен. Добавьте инструкцию puts для request.headers в свой контроллер и вставьте ее на свой вопрос, чтобы мы могли видеть. – bkunzi01
Результат выглядит так. Невозможно получить доступ к токену любым способом https://pp.vk.me/c638121/v638121746/239b4/PF4NFzGBTio.jpg –