Domanda

Vedo due valori diversi per request.env['CONTENT_TYPE'] e request.content_type.

Da una domanda separata, sto inviando una richiesta alla mia domanda di Rails e ho impostato esplicitamente il Content-Type a text/xml.

Ecco cosa sto vedendo dall'altra parte, dall'interno della mia domanda di rotaie:

request.env['CONTENT_TYPE'] = "text/xml"
request.content_type = "application/xml"

request.content_type è effettivamente action_dispatch.request.content_type

  1. Qual è la differenza tra request.env['CONTENT_TYPE'] e request.content_type?
  2. Perché questi due valori sono diversi?
È stato utile?

Soluzione

request.env Contiene i "pensieri" di Rack su quale sia il tipo di contenuto. In generale, questo è il tipo di contenuto della richiesta che hai fatto.

request.content_type D'altra parte è l'interpretazione di Rails di ciò che pensa sia il tipo di contenuto, in base al formato della richiesta. Questi sono definiti in un file chiamato mime_types.rb nelle rotaie (non ricordo quale parte, ma con ciò dovresti essere in grado di individuarla) e possono essere specificati altri config/initializers/mime_types.rb.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top