2012-04-12 7 views
0

Ich bin in einem Ruby on Rails Tutorial bei this Punkt stecken. Ich ging durch die has_secure_password Klassendefinition und ich kann nicht herausfinden, in welchem ​​Teil der Anwendung die password= Methode aufgerufen wird? Ich habe es nicht ausdrücklich überall in unserem Tutorial nennen, aber das, wenn ich ein:Wo wird die Methode "password =" in meiner Anwendung aufgerufen?

User.create{blah blah} 

in die Rails-Konsole automatisch das Kennwort verschlüsselt, und fügt sie die password_digest Spalte!

Ich konnte Google dies wegen der = in der Methodenname anmelden, so bitte helfen Sie mir hier.

Antwort

2

Ihre entsprechende Zeile ist:

@user = User.new(name: "Example User", email: "[email protected]", 
      password: "foobar", password_confirmation: "foobar") 

Wenn Klassen Active Modells new oder create mit Optionen Hash empfängt sie den Hash-Schlüssel in Methodennamen umwandeln und #{method_name}= auf das neu generierten Modell nennen.

Dies ermöglicht das Controller-Muster (oder anti-Muster je nach Standpunkt)

User.new(params) 
+0

ah, kann ich mich, dass aus nicht gedacht! vielen Dank :) – viswa

Verwandte Themen