我的用户模型:
validates :password, :presence => { allow_blank: false, notice: "password error" }
validates :username, :presence => { allow_blank: false, notice: "username error" }
用户控制器:
def create
@user = User.new(user_params)
if @user.save
logger.info "saved"
else
flash[:notice] = "This field is empty"
redirect_to :back
end
end
我怎样才能改为“此字段为空”,以便从每个情况的模型中获取文本。
例如:如果用户名字段中出现错误,则显示“用户名错误”,密码为> “密码错误”等。那么,我该如何从模型中获取这些文本?
答案 0 :(得分:1)
@user.errors
包含验证错误。
def create
@user = User.new(user_params)
if @user.save
logger.info "saved"
else
flash[:notice] = @user.errors.to_a.to_sentence
redirect_to :back
end
end