我希望能够重定向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的方法,以便不显示错误消息(我从控制台运行)?任何重定向错误的方法都会有所帮助。
答案 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。