在Rails4应用程序中--当我试图在我的控制台中创建一个简单的用户时,我得到了这个错误。
RuntimeError:
Password digest missing on new record我的模型、控制器和模式如下所示:
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,我不确定这是一个bug,还是我错过了一些简单的东西。
谢谢,
发布于 2014-07-10 08:40:04
我有完全相同的问题,但这部分解决了我的问题。无法存储password_confirmation,因为它不是许可参数
def user_params params.require(:user).permit(:name, :password_digest, :password, :password_confirmation) end
https://stackoverflow.com/questions/15376974
复制相似问题