Ich habe eine Steuerung rufen Sie ein Modell für einen Benutzerpasswort Reset-Flow. Es ruft zwei Methoden:Nicht definierte Methode im Modell, aber andere Methode funktioniert
Controller
Password.new(@user)
.save_token_and_expiry
.email_reset
Modell
module ModuleName
class Password
attr_accessor :token, :user
def initialize(user)
@token = SecureRandom.urlsafe_base64(ModuleName.configuration.reset_token_length, false)
@user = user
end
def save_token_and_expiry
User.find_by_email(@user['email'])
.update_attributes(password_reset_token: @token, password_token_expiry: ModuleName.configuration.password_token_expiry)
end
def email_reset
PasswordResetMailer.password_reset(@user, @token).deliver_now
end
end
end
Ausgang
NoMethodError (undefined method `email_reset' for true:TrueClass):
Die erste davon erfolgreich ausgeführt wird, aber es nicht auf der zweiten.
Warum gibt die zweite Methode einen Fehler zurück?
Sie kehren 'User' Objekt und versucht,' password' Methode auf, dass zu laufen Objekt, das nicht funktioniert –