Что такое и почему существует разница между request.env['CONTENT_TYPE'] и request.content_type?
Я вижу два разных значения для request.env['CONTENT_TYPE']
а также request.content_type
,
Из отдельного приложения я отправляю запрос в приложение Rails и явно установил Content-Type
в text/xml
,
Вот что я вижу на другом конце моего приложения Rails:
request.env['CONTENT_TYPE'] = "text/xml"
request.content_type = "application/xml"
request.content_type
на самом деле action_dispatch.request.content_type
- В чем разница между
request.env['CONTENT_TYPE']
а такжеrequest.content_type
? - Почему эти два значения разные?
1 ответ
request.env
содержит "мысли" Рэка о типе контента. Обычно это тип содержимого запроса, который вы сделали.
request.content_type
с другой стороны, интерпретация Rails того, что он думает о типе контента, основана на формате запроса. Они определены в файле с именем mime_types.rb
в Rails (я не могу вспомнить, какую часть, но с этим вы должны быть в состоянии найти его), и дополнительные могут быть указаны в config/initializers/mime_types.rb
,