加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 模型上的rspec和undefined方法

发布时间:2020-12-17 01:46:04 所属栏目:百科 来源:网络整理
导读:我正在尝试跟踪Integration Testing上的railscast并正在测试密码重置URL.我遇到NoMethodError问题而且不确定是怎么回事. 我有一个具有forgot_password值的用户模型,该值只是一个将通过电子邮件发送出去的哈希值. 这似乎有效 ruby-1.9.2-p290 :001 u=User.fin
我正在尝试跟踪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"

但是我收到以下错误:

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'

这是规格:

需要’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

NoMethodError告诉我什么?看起来好像来自rails c,forget_password值存在.我错过了什么?

谢谢

解决方法

仅供未来的搜索者使用:

当您看到类似“attributename =”之类的无方法错误时 – 但是您知道活动记录是将attr_accessor添加到模型中,您应该确保运行:

rake db:test:prepare

迁移后.不能说这有多少次了!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读