2011-08-06 44 views
1

好的,我从Pragmatic Bookshelf文本中学习R on R0 Agile Webdevelopment with Rails 4th ed。SessionsController中的NoMethodError#create

我在212页,我得到这个错误.... NoMethodError in SessionsController#createapp/controllers/sessions_controller.rb:7:in 'create'

我出去拉我的胡子在这里,我已经花了几天试图跟踪下来。这是创建代码,这是指向...

def create 
    if user = User.authenticate(params[:name], params[:password]) 
    session[:user_id] = user.id 
    redirect_to admin_url 
    else 
    redirect_to login_url, :alert => "Invalid user/password combination" 
    end 
end 

任何古鲁可以帮助吗?

+1

您是否在用户模型中定义了'authenticate'? – apneadiving

+0

什么是第7行?它声称丢失了什么方法? –

+0

好吧......休息一会儿后,我注意到我在我的模型中错误地命名了User.authenticate。问题解决了。 – thefonso

回答

1

听起来像您需要在您的用户模型(我的书上的第203页)中使用以下内容。如果这不是问题,请提供您的用户模型。

def User.authenticate(name, password) 
    if user = find_by_name(name) 
    if user.hashed_password == encrypt_password(password, user.salt) 
     user 
    end 
    end 
end 
相关问题