簡體   English   中英

哈特爾 8 Rails教程Remember_Token測試失敗

[英]Hartl Ch. 8 Rails Tutorial Remember_Token Test Failure

這不是一個重復的問題-我已經運行rake db:test:prepare

Hartl的Rails教程添加了remember_token

運行authentication_pages_spec.rb時出錯:

1) User 
     Failure/Error: it { should respond_to(:remember_token) }
       expected #<User id: nil, name: "Example User", email: "user@example.com", created_at: nil, updated_at: nil, password_digest: "$2a$04$eszlV1FYN2HahpYn1X/NyOTWYbzKjfLZCv7Vc2I0Wb3p..."> to respond to :remember_token
     # ./spec/models/user_spec.rb:18:in `block (2 levels) in <top (required)>'

我的錯:

我生成了TIMESTAMP_add_remember_token_to_users.rb並添加了以下代碼:

class AddRememberTokenToUsers < ActiveRecord::Migration
    def change
        add_column :user, :remember_token, :string  
        add_index :user, :remember_token
    end
end

我運行rake db:migrate ,然后運行rake db:test:prepare 我確定上面代碼中的:user應該是兩行中的:users ,我已經完成了。 現在的代碼如下所示:

class AddRememberTokenToUsers < ActiveRecord::Migration
    def change
        add_column :users, :remember_token, :string 
        add_index :users, :remember_token
    end
end

測試仍然失敗。 完成這些編輯后,我已經運行rake db:migraterake db:test:prepare無濟於事。

我試過使用rake db:rollback ,但出現此錯誤:

Index name 'index_users_on_remember_token' on table 'users' does not exist

我認為這突出了我發現的問題。

我認為我需要做的是回滾或刪除此數據庫文件,然后重做並將remember_token放入users表。

任何幫助,不勝感激。

有時遷移會“不同步”,請嘗試執行rake:db:reset

如果仍不能解決問題,請查看控制台rails c

嘗試User.create(name:“ dave”等等)

查看它是否創建了記住標記

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM