Ruby on rails 如何显示描述性错误消息?
我在RubyonRails中显示错误消息时遇到问题。我正在使用:Ruby on rails 如何显示描述性错误消息?,ruby-on-rails,Ruby On Rails,我在RubyonRails中显示错误消息时遇到问题。我正在使用: rescue => Exception ex #display ex.message 当我试图在警报消息框中显示时,得到的输出如下: “DBI::DatabaseError:37000(50000) [Microsoft][ODBC SQL Server 驱动程序][SQL Server]无法批准 指定日期的记录..:Exec uspTestProc 2791672。“ 它显示一些对用户不友好的单词。我想要的是只显示以下
rescue => Exception ex
#display ex.message
当我试图在警报消息框中显示时,得到的输出如下:
“DBI::DatabaseError:37000(50000)
[Microsoft][ODBC SQL Server
驱动程序][SQL Server]无法批准
指定日期的记录..:Exec
uspTestProc 2791672。“
它显示一些对用户不友好的单词。我想要的是只显示以下文字:“无法批准指定日期的记录”在任何语言中,我通常会处理异常并向用户显示一个简化版本 用户不应该看到某些东西的内部工作,异常是向他们展示一大堆废话的好方法 一:
- 记录实际的异常,因为我或系统维护人员需要确切地知道发生了什么,如果可能的话,可以使用tracelog
- 向用户显示针对特定问题的定制异常-“您输入了错误的数据!”
- 或者是一个一般性的错误——“哦,不!出了可怕的错误!!1”-如果这不是由用户引起的,或者我还没有处理它的理由李>
# error catching logic goes here
flash[:error] = "There was an error!"
# notice logic goes here
flash[:notice] = "I am sending you a notice."
然后显示它(可能在catchall布局中):
这就是你要找的吗?我认为这样的错误是可以被救出的
class ApplicationController
rescue_from MyException do
render :text => 'We have some issue in our database'
end
end
你好感谢您的回复,该错误是在ms sql中使用raiserror引发的。。例如raiserror(“无法批准指定日期的记录”)我喜欢显示“无法批准指定日期的记录”这个词。但是当我在ruby on rails中显示它时,我得到的是“DBI::DatabaseError:37000(50000)[Microsoft][ODBC SQL Server驱动程序][SQL Server]无法批准指定日期的记录..:Exec uspTestProc 279,167,2“希望您能帮助我..非常感谢。您好。感谢您的回复,该错误是在ms sql中使用raiserror引发的。。例如raiserror(“无法批准指定日期的记录”)我喜欢显示“无法批准指定日期的记录”这个词。但是当我在ruby on rails中显示它时,我得到的是“DBI::DatabaseError:37000(50000)[Microsoft][ODBC SQL Server驱动程序][SQL Server]无法批准指定日期的记录..:Exec uspTestProc 279,167,2“希望您能帮助我..非常感谢。
class ApplicationController
rescue_from MyException do
render :text => 'We have some issue in our database'
end
end