我正在完成这本书,并且我已经忽略了这个错误信息太久了。请帮我理解如何解决这个问题。谢谢!
1)错误:
PasswordResetsTest#test_password_resets:
NoMethodError:未定义的方法reset_sent_at=' for #<User:0x007f814e118600>
app/models/user.rb:63:in
create_reset_digest&#39;
app / controllers / password_resets_controller.rb:12:在create'
test/integration/password_resets_test.rb:17:in
块中&#39;
答案 0 :(得分:0)
错误可能会指向一个错误的方向。这个NoMethodError
实际上是由于您的users
表格没有列reset_sent_at
这一事实造成的。
Rails在User
模型中为users
表中的每一列定义访问器方法(getter和setter)。但是,由于它没有reset_sent_at
列,因此未定义任何访问者并且正在引发NoMethodError
。
确保您已将reset_sent_at
添加到users
的情况下创建了迁移(这已在chapter 10 of the Rails tutorial中完成),并且您也已执行迁移。迁移后,请务必重新启动Rails服务器。