Tôi đang cố gắng đặt chương trình của mình để mật khẩu chỉ được xác thực nếu nó được thay đổi (để người dùng có thể chỉnh sửa thông tin khác mà không cần phải nhập mật khẩu của họ).Phương thức chưa xác định password_changed? Lỗi
tôi hiện đang nhận được một lỗi nói rằng
NoMethodError in UsersController#create, undefined method `password_changed?' for #<User:0x00000100d1d7a0>
khi tôi cố gắng đăng nhập
Đây là mã xác nhận của tôi trong 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?
Đây là phương pháp tạo của tôi trong 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
Cảm ơn bạn!
Không, vẫn gặp lỗi tương tự. – steffi2392
là 'mật khẩu' một cột của mô hình của bạn? – apneadiving
trong cơ sở dữ liệu? Không, chỉ là encrypted_password. Tôi có nên thêm nó? – steffi2392