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 に答える