ruby-on-rails - 用于...的未定义方法“身份验证”?
问题描述
#<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
解决方案
gem 'bcrypt'
在你的 gem 文件中添加上面的 gem 并捆绑它
has_secure_password
在您的用户模型中添加上面的代码行,即 user.rb
推荐阅读
- javascript - React Hooks ref.current 在测试期间未定义
- mysql - 嵌套和取消嵌套
- intellij-idea - Intellij Sql 脚本提交间隔
- flutter - Flutter:EXPANDED 的错误虽然已经用 COLUMN 包装了
- c - 使用对角矩阵计算对称秩 k 更新的最快方法
- node.js - NodeJS重定向到带有NodeError的有效路由抛出错误:无效状态代码
- c# - Visual Studio C#:dotnet run 找不到要运行的项目
- mysql - 联表中作为附加值包含的值的联表
- php - PHP控制台中空格分隔的用户输入问题
- node.js - 未捕获的 ReferenceError:在节点 js 应用程序中未定义要求