SessionsController中的NoMethodError #create

时间:2011-08-06 23:03:02

标签: ruby-on-rails ruby

好的,我正在使用实用书架文本 Agile Webdevelopment with Rails 4th ed。来学习R on R。

我在第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 个答案:

答案 0 :(得分: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