2012-07-01 66 views
0

我正在努力讓用戶登錄和退出我的Rails應用程序。我得到的錯誤是如下爲什麼我在rails中得到一個未定義的錯誤方法?

未定義的方法「find_by_remember_token」

問題的方法是這樣寫的:

def current_user 
@current_user ||= User.find_by_remember_token(cookies[:remember_token]) 
end 

任何幫助,您可以在解決這個將錯誤提供非常感謝!

回答

0

您的users表中沒有字段remember_token

+0

我創建並運行了一個遷移,其中向我的數據庫添加了remember_token,但reme​​mber_token不在我的schema.rb文件中。有沒有辦法強制數據庫添加新的字段?感謝您的答覆! – user1483441

+0

'rake db:schema:dump' – smathy

0

我知道這是一個老問題,但我有同樣的問題,並希望包括我如何解決它。

首先,我確信我添加了必需的信息,以遷移:

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 

後爲我工作。

1

您可以重置您的數據庫,並在同一行遷移:

rake db:migrate:reset && rake db:migrate && annotate 

使用寶石註釋在項目中有你的數據庫列更好的視野

在你的Gemfile添加:

gem 'annotate' 

,並在控制檯中運行:

bundle update && bundle install 
相關問題