![](/img/trans.png)
[英]undefined local variable or method `remember_token' - M Hartl's Rails Tutorial Ch 8
[英]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:migrate
和rake 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.