我正在努力讓用戶登錄和退出我的Rails應用程序。我得到的錯誤是如下爲什麼我在rails中得到一個未定義的錯誤方法?
未定義的方法「find_by_remember_token」
問題的方法是這樣寫的:
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end
任何幫助,您可以在解決這個將錯誤提供非常感謝!
我正在努力讓用戶登錄和退出我的Rails應用程序。我得到的錯誤是如下爲什麼我在rails中得到一個未定義的錯誤方法?
未定義的方法「find_by_remember_token」
問題的方法是這樣寫的:
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end
任何幫助,您可以在解決這個將錯誤提供非常感謝!
您的users
表中沒有字段remember_token
?
我知道這是一個老問題,但我有同樣的問題,並希望包括我如何解決它。
首先,我確信我添加了必需的信息,以遷移:
class AddRememberTokenToUsers < ActiveRecord::Migration
def change
add_column :users, :remember_token, :string
add_index :users, :remember_token
end
end
然後我就甩我的數據庫和重偏移:
rake db:drop
rake db:create
rake db:migrate
後爲我工作。
您可以重置您的數據庫,並在同一行遷移:
rake db:migrate:reset && rake db:migrate && annotate
使用寶石註釋在項目中有你的數據庫列更好的視野
在你的Gemfile添加:
gem 'annotate'
,並在控制檯中運行:
bundle update && bundle install
我創建並運行了一個遷移,其中向我的數據庫添加了remember_token,但remember_token不在我的schema.rb文件中。有沒有辦法強制數據庫添加新的字段?感謝您的答覆! – user1483441
'rake db:schema:dump' – smathy