Ich versuche, dem Rails-Params-Hash einen Wert aus einem benutzerdefinierten Rack-Middleware-Objekt hinzuzufügen. Mein aktueller Ansatz verwendet
%Vor%Ich füge gerade die Middleware nach ActionDispatch :: ParamsParser hinzu. Die Parameter werden nicht in den Rails-Params-Hashs von einem Controller angezeigt, sondern erscheinen im request.params-Hash (innerhalb des oben definierten Middleware-Objekts). Irgendwelche Ideen? Hilfe sehr geschätzt.
Die Dokumente für Rack::Request#params
sagen:
Beachten Sie, dass Änderungen im env nicht beibehalten werden. Verwenden Sie update_param oder delete_param , wenn Sie die Parameter destruktiv ändern wollen.
Wenn Sie die Linie verwenden
%Vor% Sie fügen den neuen Parameter dem Hash hinzu, der für diese Instanz von Rack :: Request erstellt wurde, aber das env
, das an Rails übergeben wird, wird nicht geändert. Um den neuen Wert weiter unten im Rack-Stack verfügbar zu machen, verwenden Sie update_param
, wie die Dokumente vorschlagen:
Tags und Links ruby ruby-on-rails rack