我看到 request.env['CONTENT_TYPE']
和 request.content_type
有两个不同的值。
我从一个单独的应用程序向我的 Rails 应用程序发送一个请求,并将 Content-Type
显式设置为 text/xml
。
这是我在另一端看到的,来 self 的 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
有什么区别?- 为什么这两个值不同?
最佳答案
request.env
包含 Rack 对内容类型的“想法”。通常,这是您发出的请求的内容类型。
request.content_type
是 Rails 根据请求的格式对内容类型的解释。这些是在 Rails 中一个名为 mime_types.rb
的文件中定义的(我不记得是哪一部分,但是有了它你应该能够找到它),其他的可以在 中指定配置/初始化程序/mime_types.rb
.
关于ruby-on-rails - request.env ['CONTENT_TYPE' ] 和 request.content_type 是什么,为什么有区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4860478/