2

私はこのchargify_api_aresgemを使用してChargifyサブスクリプションを検索しています。

@current_subscription = Chargify::Subscription.find_by_customer_reference(@dealer.id)
redirect_to(dealers_path) unless @current_subscription

find_by_customer_referenceただし、サブスクリプションが見つからない場合は、何も見つからない場合は404を吐き出すため、リダイレクトされる次の行に到達することはありませんが、nil代わりに戻る方法が欲しいので、ユーザーをそこからリダイレクトする次の行。

オブジェクトが見つからない場合に、ソフトに失敗させる方法や、ユーザーをリダイレクトするためのより良い方法を知っている人はいますか?ありがとう。

4

1 に答える 1

5

おそらく、このメソッドはActiveRecord::RecordNotFound例外を発生させています。これをキャッチしてリダイレクトに変えることができます。

begin
  @current_subscription = Chargify::Subscription.find_by_customer_reference(@dealer.id)
rescue ActiveRecord::RecordNotFound
  redirect_to dealers_path
end
于 2012-10-17T15:55:22.487 に答える