3

と の 2 つの異なる値が表示され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

  1. request.env['CONTENT_TYPE']とはどう違いrequest.content_typeますか?
  2. これら 2 つの値が異なるのはなぜですか?
4

1 に答える 1

5

request.envコンテンツ タイプが何であるかについてのラックの「考え」が含まれています。通常、これは作成したリクエストのコンテンツ タイプです。

request.content_type一方、リクエストの形式に基づいて、Rails がコンテンツ タイプと見なすものを解釈します。これらはmime_types.rbRails という名前のファイルで定義されており (どの部分かは思い出せませんが、それで見つけることができるはずです)、追加のものは で指定できますconfig/initializers/mime_types.rb

于 2011-02-01T09:47:31.707 に答える