Regardons la source! Les deux variables proviennent de l'utilisation de la classe d'assistance Rack::Request
. Il fournit une belle interface aux paramètres de la requête. Il n'est pas nécessaire pour les applications Rack de l'utiliser, mais Rails l'utilise.
Les variables sont destinées à l'usage interne de Rack::Request
. rack.request.form_vars
contient le corps POST non analysé et rack.request.form_hash
contient le hachage analysé. ActionDispatch::Request
hérite de Rack::Request
et obtient les paramètres en utilisant Rack::Request#POST
, qui lit la dernière variable. Vous pouvez utiliser Rack::Request
vous-même pour le modifier.
class YourMiddleware
def initialize(app)
@app = app
end
def call(env)
req = Rack::Request.new(env)
req.POST["authenticity_token"] = "foo"
end
end
J'aimerais aussi le savoir. Faites-moi savoir si vous trouvez quelque chose. – iain
La recherche dans l'arborescence source de rails pour 'form_vars' et' form_hash' ne donne aucun résultat, suggérant que Rails n'utilise aucun des deux? Je suis aussi confus que toi. –