NoMethodError: undefined method reset_sent_at hartle tutorial

NoMethodError: undefined method reset_sent_at hartle tutorial

我正在做 enter link description here. I got the same error mentioned in enter link description here 的第 10 章

    PasswordResetsTest#test_password_resets:
NoMethodError: undefined method `reset_sent_at=' for #<User:0xccd47c0>
    app/models/user.rb:66:in `create_reset_digest'
    app/controllers/password_resets_controller.rb:12:in `create'
    test/integration/password_resets_test.rb:17:in `block in <class:PasswordResetsTest>'

我尝试做答案中提到的所有事情。 我做的第一件事是:

rails generate migration add_reset_to_users reset_digest:string reset_sent_at:datetime

答案是:

Another migration is already named add_reset_to_users:

所以我确定我之前做过迁移。 此 _add_reset_to_users.rb 文件位于迁移文件夹中。

class AddResetToUsers < ActiveRecord::Migration
  def change
    add_column :users, :reset_digest, :string
  end
end

然后我尝试重新启动我的 rails 服务器。(我不确定我是否做对了)使用

rails server

然后关闭服务器。 他们都没有工作。我仍然遇到同样的错误。

Another migration is already named add_reset_to_users:

如您所述,您之前已经创建了迁移,但此迁移不包括添加 reset_sent_at 列。

此时最简单的事情就是创建一个新的迁移来添加缺失的列。

rails generate migration add_reset_sent_at_to_users reset_sent_at:datetime