2016-11-28 2 views
0

Ich habe versucht, sowohl die Website und die Ruby-Dokumente zu durchsuchen, aber ich bin nicht in der Lage, eine klare Antwort auf genau das zu finden, was das oben tut.Hilfe beim Verständnis der folgenden Methoden: request.query_string

Von dem, was ich verstehe, sind "Anfrage" und "Query_string" zwei getrennte Methoden, aber ich bin mir ziemlich unsicher, was sie tun - letzteres insbesondere.

Jede Hilfe wäre super geschätzt!

Vielen Dank.

+0

dies ist in einer Rails-Anwendung? – jphager2

Antwort

1

In Rails gibt die Methode #request, die in Controllern und Ansichten verfügbar ist, eine ActionDispatch :: Request-Instanz zurück. Das Request-Objekt ermöglicht den Zugriff auf Daten aus der HTTP-Anfrage.

Die Methode #query_string, die in Rack :: Request :: Helpers definiert ist, gibt die Abfragezeichenfolge aus der Anforderungs-URL zurück. Dies ist der Teil in der URL, der dem "?" Das gibt URL-codierte Daten im Format key = Wert & other_key = other_value.

Hinweis:

ActionDispatch :: Anfrage ist eine Rails-Klasse, die in ähnlicher Weise zu einem Rack :: Anfrage, inklusive Rack-:: Anfrage :: Env und Rack-:: Anfrage :: Helfer in der verhält aktuelle Version von Rails v 5.0. In früheren Versionen wurde ActionDispatch :: Request direkt von Rack :: Request geerbt.

mehr lesen:

+0

Danke, Mann! Ich muss allerdings sagen, dass ich die Verwendung von "require" in Sinatra bemerkte - ich stelle mir vor, dass dieselben Regeln gelten. Danke noch einmal. :) – IainK

+0

Es sieht so aus, als ob Sinatras Request-Objekt direkt von Rack :: Request erbt (https://github.com/sinatra/sinatra/blob/master/lib/sinatra/base.rb#L23). In Ruby lädt #require eine Bibliothek aus dem Ladepfad (nur einmal), include (z. B. was mit Rack :: Request :: Helpers in ActionDispatch :: Request erledigt wird) hängt ein Modul an die Vorgängerkette an und stellt Instanzmethoden zur Verfügung . – jphager2

Verwandte Themen