Hartl教程:无法弄清楚如何解决这个错误

时间:2014-12-13 22:40:25

标签: ruby-on-rails ruby

我正在完成这本书,并且我已经忽略了这个错误信息太久了。请帮我理解如何解决这个问题。谢谢!

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;

1 个答案:

答案 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服务器。