ruby on rails params-hash und des Inhalts
Ich bin neu in Ruby on Rails und Web-Entwicklung und war im Anschluss an die rails tutorial auf youtube von Michael Hartl, als ich bei einem sehr unübersichtlichen code. der code ist:
def create
@user = User.new(params[:user])
end
Ich kann einfach nicht verstehen, wo die ":user" - Taste kommt, oder was es Wert ist. Ich habe versucht, alles zu Lesen über Symbole und hashes in ruby aber es verwirrt mich mehr. Zunächst gab es diesen code in das tutorial:
def show
@user = User.find(params[:id])
@title = @user.name
end
in dem ich verstehe, dass die "params[:id]" ist ein hash mit key-value :id, wobei id: => (- id in der Datenbank), aber mit params[:user], ich habe gerade verloren. Ich habe keine Spalte für "user", aber mein Modell ist unter dem Namen "user".
Also, meine einfache Frage wäre... wo hast den Schlüssel ":der Benutzer" kommt und was ist es Wert?
InformationsquelleAutor Mr. Slow | 2013-08-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist von Ihrer form wie
Erzeugt es so etwas wie
Blick auf name-Attribute. So
params
werden wie{"utf8"=>"✓", "authenticity_token"=>"xxx=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Create user"}
Sowie
User.creae
Methoden get hash mit Attribute des Modells.InformationsquelleAutor Danil Speransky
Überprüfen, die Entwicklung von Protokollen nach der post. Die params-sende-als
So sollte es sein, ein Benutzer-Hash-Datei, die alle Daten im Feld. Sie können nur erfassen die Werte in
params[:user]
im controller, wenn :der Benutzer ist das übergeordnete Hash.InformationsquelleAutor Debadatt
Erstellen Sie neue Benutzer-wir werden tun, wie unten.
Beim Aufruf form_for übergeben Sie es ein identifizierendes Objekt für diese form. In diesem Fall ist es das symbol
:user
.In der controller-Seite werden wir tun, wie unter zum erstellen von Benutzer-Datensatz in der Datenbank
Durch
params[:user].inspect
können Sie sehen, was kommt, view und controller.Den
params
Methode ist das Objekt repräsentiert dieparameters
(oder Felder) aus der form. Die params-Methode gibt ein ActiveSupport::HashWithIndifferentAccess-Objekt ermöglicht den Zugriff auf die Schlüssel der hash-entweder strings oder Symbole.InformationsquelleAutor vinothini