5
Ich habe ein Schienenmodell User
, das name
, email
und hash
Felder hat.before_create in Schienen Modell
ich speichern Daten, indem Sie diese:
@u = User.create(:name=>'test', :email=>"[email protected]")
@u.save
Wie kann ich die before_create
Rückruf übernehmen, so dass vor der Aufzeichnung der Hash-Wert zu speichern wird eine Hash-Zeichenfolge durch folgenden Code:
Digest::SHA1.hexdigest('something secret' + email)
Wie sieht mein User
Modell aus?
class Employee < ActiveRecord::Base
before_create :set_hash
def set_hash
//what goes in here?
end
end
Übrigens spart User.create den Benutzer, so @ u.save unnötig ist. Wenn Sie etwas zwischen dem Erstellen eines neuen Modells und dem Speichern tun möchten, verwenden Sie User.new mit denselben Parametern. – Troy