1

我希望能够重定向从 mongoid 的错误引发的输出。我在以下布局中有一些简单的代码:

begin
  [ruby code here to query database]
rescue [Moped Exception here] => e
  puts e.message
end

发生错误时,我以以下格式获取它:

Moped::Errors::ConnectionFailure: Could not connect to a primary node for replica set <Moped::Cluster nodes=[<Moped::Node resolved_address=”ipAddress”&gt;, <Moped::Node resolved_address=”ipAddress”&gt;]>

在实际捕获并显示异常之前,会多次显示此错误。我对发生错误的事实没有意见,但我想在上面隐藏错误输出/不显示它,只显示异常。是否有某种方法可以重定向从 ConnectionFailure 错误引发的错误输出。或者一种配置 mongoid 以使错误消息不显示的方法(我正在从控制台运行)?任何重定向错误的方法都会有所帮助。

4

1 回答 1

0

mongoid 文件说你不应该尝试从 ConnectionFailure 中救援:http: //mongoid.org/en/moped/docs/driver.html#errors

除此之外,你说你不在乎它是否发生。您尝试过什么代码来重定向用户?另外你在使用什么(Rails、Sinatra 等)?

对于 Rails,我通常会执行以下操作:

  if !request.env["HTTP_REFERER"].blank? and request.env["HTTP_REFERER"] != request.env["REQUEST_URI"]
   redirect_to :back
 else
   redirect_to root_path
 end

如果可能(如果已存储),这将尝试将用户发送回他们以前的路径,否则它将把他们带到根目录。

于 2015-04-10T05:03:48.483 回答