Failure/Error: it { should respond_to(:password) }
expected #<User id: nil, name: "Example User", email: "[email protected]", created_at: nil, updated_at: nil, password_digest: nil> to respond to :password
Failure/Error: it { should respond_to(:password_confirmation) }
expected #<User id: nil, name: "Example User", email: "[email protected]", created_at: nil, updated_at: nil, password_digest: nil> to respond to :password_confirmation
在学习railstutorial的时候跟着书中步骤出现了这个错误,后来发现是user中没有定义成员变量password和password_confirmation,书中给出的是
attr_accessible :name, :email, :password, :password_confirmation
但是这样并不可以定义,需要添加
attr_accessor :password, :password_confirmation
但是当看到后面的时候,当在user类定义中加入has_secure_password以后,却需要将添加的attr_accessor :password, :password_confirmation去掉,
以为在https://github.com/rails/rails/blob/master/activemodel/lib/active_model/secure_password.rb?version=3.2#这段has_secure_password的源代码中已经做了相关处理,具体的看代码