Ruby on rails 如何在Rails 3中显示验证错误?
我有以下代码:Ruby on rails 如何在Rails 3中显示验证错误?,ruby-on-rails,validation,activerecord,Ruby On Rails,Validation,Activerecord,我有以下代码: validates :username,:password, :presence => {:message => 'fields must not be blank'} 但当字段为空时,我无法获取错误消息。通过错误数组访问它们: <model_instance>.errors 虽然不确定,但类似的方法对我很有效(只是一个示例场景): 因此,只引入了异常处理,这没什么大不了的 还有一个建议,即问题中的代码行,如果用户名为空,则错误消息将为“用户名字段不得
validates :username,:password, :presence => {:message => 'fields must not be blank'}
但当字段为空时,我无法获取错误消息。通过错误数组访问它们:
<model_instance>.errors
虽然不确定,但类似的方法对我很有效(只是一个示例场景): 因此,只引入了异常处理,这没什么大不了的 还有一个建议,即问题中的代码行,如果用户名为空,则错误消息将为“用户名字段不得为空”,因此建议使用单数错误消息:) 希望对你有帮助 例如
def create
@user = User.new(params[:user])
if @user.valid?
logger.warn("====valid==========#{@user.error.full_messages.inspect}============")
else
logger.warn("====error==========#{@user.error.full_messages.inspect}============")
end
end
在您的终端中检查此打印的内容
def create
model_instance = Model.new
begin
if model_instance.save_model # custom save for model (if required)
# code
else
# code
end
rescue
p model_instance.errors # here you will be able to access them.
end
end
def create
@user = User.new(params[:user])
if @user.valid?
logger.warn("====valid==========#{@user.error.full_messages.inspect}============")
else
logger.warn("====error==========#{@user.error.full_messages.inspect}============")
end
end