此异常无法处理此错误。
没有问题更新模板,在问题更新后它将重定向到索引页面,但是当模型验证出错时保存下面的消息显示。
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
更正以下场景的异常处理的方法是什么。
答案 0 :(得分:0)
在这种情况下,我们需要以下面的方式处理(ActiveRecord :: RecordInvalid)。 我通过将此救援添加到代码中来解决它。
begin
.....
.....
rescue ActiveRecord::RecordInvalid => invalid
flash[:error] = t('flash_notice.qs_duplicate')
return redirect_to (:back)
end
谢谢。
答案 1 :(得分:-1)
def update
if @question.update(question_params)
redirect_to action: 'index'
else
render 'edit'
end
end
假设您在表单上显示错误,则只需渲染编辑模板。