首页 > 解决方案 > 用于...的未定义方法“身份验证”?

问题描述

#<User id: 2, email: "user@user.com", cne: "1234", password: [FILTERED], created_at: "2021-04-01 04:13:39.722980000 +0000 的未定义方法 `authenticate' ", updated_at: "2021-04-01 04:13:39.722980000 +0000">

代码

def create
    user = User.find_by(email:login_params[:email])
    if user && user.authenticate(login_params[:password])
      session[:user_id] = user.id
      redirect_to '/dashboard'
    else
      flash[:login_params]=['login faild!,retry']
      redirect_to '/'
    end
  end

标签: ruby-on-railsruby-on-rails-5

解决方案


  gem 'bcrypt'

在你的 gem 文件中添加上面的 gem 并捆绑它

  has_secure_password

在您的用户模型中添加上面的代码行,即 user.rb


推荐阅读