我看到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
之间的区别是什么?答案 0 :(得分:5)
request.env
包含Rack关于内容类型的“想法”。通常,这是您所做请求的内容类型。
request.content_type
是Rails根据请求的格式对其认为的内容类型的解释。这些是在Rails中名为mime_types.rb
的文件中定义的(我无法回想起哪个部分,但你可以找到它),并且可以在config/initializers/mime_types.rb
中指定其他部分。