Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 显示RubyonRails中ms sql抛出的错误消息_Ruby On Rails - Fatal编程技术网

Ruby on rails 显示RubyonRails中ms sql抛出的错误消息

Ruby on rails 显示RubyonRails中ms sql抛出的错误消息,ruby-on-rails,Ruby On Rails,几周来我一直在寻找解决方案。但仍然失败..我有一个在RubyonRails中调用的存储过程..在这个存储过程中,我有验证,并使用raiserror抛出 例如,raiserrorStartDate必须小于EndDate 在我的RubyonRails控制器中 def保存 开始 M.find_by_sql EXEC spTestProc'3/15/2010','3/1/2010' 救援异常=>e render:js=>alerte.message; 结束 但我得到的错误消息是StartDate必须小于

几周来我一直在寻找解决方案。但仍然失败..我有一个在RubyonRails中调用的存储过程..在这个存储过程中,我有验证,并使用raiserror抛出

例如,raiserrorStartDate必须小于EndDate

在我的RubyonRails控制器中

def保存 开始 M.find_by_sql EXEC spTestProc'3/15/2010','3/1/2010' 救援异常=>e render:js=>alerte.message; 结束

但我得到的错误消息是StartDate必须小于EndDate,我得到的错误消息是DBI::DatabaseError:37000 50000[Microsoft][ODBC SQL Server Driver][SQL Server]StartDate必须小于EndDate..:Exec spTestProc'3/15/2010',3/1/2010'

我需要显示存储过程抛出的错误消息,但是我得到了一些我不喜欢显示的额外消息,如DBI::DatabaseError…等等。我该怎么做


谢谢。

使用正则表达式删除不需要的文本

e.message.gsub(/(^.*SQL Server\])|(: Exec spTestProc.*$)/i, '')
# this will return StartDate must be less than EndDate..

但是,Exception类中是否没有内置函数,它只会获取实际错误?与asp.net中一样,它获取实际的错误消息。thanksIt很可能是ASP.net正在为您执行此步骤。