gpt4 book ai didi

ruby-on-rails-4 - Rails 4 has_secure_password

转载 作者:行者123 更新时间:2023-12-03 23:37:26 24 4
gpt4 key购买 nike

在 Rails 4 应用程序中——尝试在控制台中创建简单用户时出现此错误。

RuntimeError:
Password digest missing on new record

我的模型、 Controller 和架构如下所示:

class User < ActiveRecord::Base # User.rb
has_secure_password
end

class UsersController < ApplicationController

def new
@user = User.new
end

def create
@user = User.new(user_params)
if @user.save
redirect_to root_path, notice: "Thank you for signing up!"
else
render "new"
end
end

private

def user_params
params.require(:user).permit(:email, :name, :password, :password_confirmation)
end
end

create_table "users", force: true do |t| #db/schema.rb (edited for brevity)
t.string "email"
t.string "name"
t.text "password_digest"
t.datetime "created_at"
t.datetime "updated_at"
end

我正在使用 postgresql,不确定这是不是一个错误,或者我是否遗漏了一些简单的东西。

谢谢,

最佳答案

在 Rails 4 中,默认情况下所有属性都是批量分配的,因此您不需要使用 attr_accesible。现在你必须说明你想要保护哪些。你会这样写

attr_protected :admin

当 password_digest 为空时会出现您遇到的错误。它可能与您的 attr_accesor: 有关。我可以看看你的观点吗?

关于ruby-on-rails-4 - Rails 4 has_secure_password,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15376974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com