【发布时间】:2016-11-03 13:42:04
【问题描述】:
我正在开发一个 Rails 项目并在其中使用异常处理,我是这样使用它的:
begin
@profile.update(profile_params)
flash[:success] = SUCCESS_MESSAGE_FOR_PROFILE_UPDATED
redirect_to params[:referrer]
rescue => e
flash[:alert] = "#{e.message}"
render :edit
end
当异常发生时,它会生成一条很长的消息:
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_companies_on_name" DETAIL: Key (name)=(Test2) already exists. : UPDATE "companies" SET "name" = $1, "updated_at" = $2 WHERE "companies"."id" = $3
正如我们所见,异常发生是由于 'name' 的重复条目,所以基本上我只想显示 DETAIL 部分,即“Key (name)=(Test2)已经存在。"
【问题讨论】:
标签: ruby-on-rails validation exception-handling ruby-on-rails-5