tim*_*one 3 rspec ruby-on-rails ruby-on-rails-3
我正在尝试跟踪Integration Testing上的railscast并正在测试密码重置URL.我遇到NoMethodError问题而且不确定是怎么回事.
我有一个具有forgot_password值的用户模型,该值只是一个将通过电子邮件发送出去的哈希值.
这似乎有效
ruby-1.9.2-p290 :001 > u=User.find(1)
...
ruby-1.9.2-p290 :002 > u.forgot_password
=> "1280aceaf23f185a2d09a57b5534e7e3"
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
1) PasswordResets emails user when requesting password reset
Failure/Error: click_button "jt"
NoMethodError:
undefined method `forgot_password=' for #<User:0x007ff916b03da0>
# /Users/jt/rails-1/app/controllers/users_controller.rb:61:in `forgot_password_confirmation'
# (eval):2:in `click_button'
Run Code Online (Sandbox Code Playgroud)
这是规格:
需要'spec_helper'
describe "PasswordResets" do
it "emails user when requesting password reset" do
user=Factory(:user)
visit log_in_path
click_link "password"
fill_in "email", :with => user.email
click_button "jt"
end
end
Run Code Online (Sandbox Code Playgroud)
NoMethodError告诉我什么?看起来好像来自rails c,forget_password值存在.我错过了什么?
谢谢
Jes*_*ott 14
仅供未来的搜索者使用:
当您看到"attributename ="之类的无方法错误时 - 但是您知道活动记录是将attr_accessor添加到模型中,您应该确保运行:
rake db:test:prepare
Run Code Online (Sandbox Code Playgroud)
迁移后.不能说这有多少次了!
| 归档时间: |
|
| 查看次数: |
1878 次 |
| 最近记录: |