Failure/Error: it { should respond_to(:password) } expected #<User id: nil, name: "Example User", e

来源:互联网 发布:db2 设置tcp ip 端口 编辑:程序博客网 时间:2024/05/02 09:43

Failure/Error: it { should respond_to(:password) }

 expected #<User id: nil, name: "Example User", email: "user@example.com", 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: "user@example.com", 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的源代码中已经做了相关处理,具体的看代码

原创粉丝点击