如果模型验证失败,则无法正确处理异常
Exception is not correctly handling if the model validation fails
这个异常没有处理这个错误。
没有问题更新模板,问题更新后它将重定向到索引页面,但是当模型验证在保存时出现错误时显示以下消息。
def update
begin
programme..
......
Question.save
flash[:sussess] = "Question created"
redirect_to :action=>'index'
rescue ActionView::MissingTemplate
flash[:error] = "Duplicate question,exception due to the model validation"
redirect_to :action=>'index'
end
以下场景异常处理的正确方法是什么
def update
if @question.update(question_params)
redirect_to action: 'index'
else
render 'edit'
end
end
假设您的表单上显示错误,那么只需呈现编辑模板。
在这种情况下,我们需要按以下方式处理(ActiveRecord::RecordInvalid)。
我通过将此救援添加到代码中解决了它。
begin
.....
.....
rescue ActiveRecord::RecordInvalid => invalid
flash[:error] = t('flash_notice.qs_duplicate')
return redirect_to (:back)
end
谢谢。
这个异常没有处理这个错误。
没有问题更新模板,问题更新后它将重定向到索引页面,但是当模型验证在保存时出现错误时显示以下消息。
def update
begin
programme..
......
Question.save
flash[:sussess] = "Question created"
redirect_to :action=>'index'
rescue ActionView::MissingTemplate
flash[:error] = "Duplicate question,exception due to the model validation"
redirect_to :action=>'index'
end
以下场景异常处理的正确方法是什么
def update
if @question.update(question_params)
redirect_to action: 'index'
else
render 'edit'
end
end
假设您的表单上显示错误,那么只需呈现编辑模板。
在这种情况下,我们需要按以下方式处理(ActiveRecord::RecordInvalid)。 我通过将此救援添加到代码中解决了它。
begin
.....
.....
rescue ActiveRecord::RecordInvalid => invalid
flash[:error] = t('flash_notice.qs_duplicate')
return redirect_to (:back)
end
谢谢。