Mongoid错误重定向

时间:2015-03-31 18:37:03

标签: mongodb redirect mongoid moped

我希望能够重定向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”>, <Moped::Node resolved_address=”ipAddress”>]>

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

1 个答案:

答案 0 :(得分: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

如果可能(如果已存储),这将尝试将用户发送回其先前的路径,否则它将把它们带到root。