Sto tentando di impostare il mio programma in modo che la password venga convalidata solo se viene modificata (in modo che un utente possa modificare altre informazioni senza dover inserire la propria password).Metodo non definito password_changed? Errore
Attualmente sto ottenendo un errore che dice
NoMethodError in UsersController#create, undefined method `password_changed?' for #<User:0x00000100d1d7a0>
quando provo ad accedere in
Ecco il mio codice di convalida user.rb
:.
validates :name, :presence => true,
:length => { :maximum => 50 }
validates :email, :presence => true,
:format => { :with => email_regex },
:uniqueness => { :case_sensitive => false }
validates :password, :presence =>true, :confirmation => true, :length => { :within => 6..40 }, :if=>:password_changed?
Ecco il mio metodo create in users_controller.rb
:
def create
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
@title = "Sign up"
render 'new'
end
end
Grazie!
No, si ottiene ancora lo stesso errore. – steffi2392
è 'password' una colonna del tuo modello? – apneadiving
nel database? No, solo password crittografata. Dovrei aggiungerlo? – steffi2392