我有一个带验证的模型:
attr_accessor :name, :username, :email, :password
validates :name, :presence => { allow_blank: false, message: "Имя не может быть пустым" }
validates :username, :presence => { allow_blank: false, message: "Имя пользователя не может быть пустым" }
validates :email, :presence => { allow_blank: false, message: "Эл. адрес не может быть пустым" }
创建def:
def create
@user= User.new(user_params)
if @user.save
redirect_to "http://bookworm.az:3000"
else
session[:name] =@user.name
session[:username] =@user.username
session[:email] =@user.email
error =@user.errors.to_a.to_sentence(two_words_connector:',')
delimeter = error.split
error = error.gsub(delimeter[0], '')
show_error = error.split(",")
flash[:notice] = show_error[0]
redirect_to :back
end
end
当我删除所有验证全部验证时,它将用户保存在数据库中。但是使用验证LOG打印:
INSERT INTO "users" DEFAULT VALUES RETURNING "id"
有什么问题?
更新
def user_params
params.require(:user).permit(:name, :username, :email, :password)
end