我正在使用 chargify_api_ares
gem 来搜索 Chargify 订阅。
@current_subscription = Chargify::Subscription.find_by_customer_reference(@dealer.id)
redirect_to(dealers_path) unless @current_subscription
但是,如果没有找到订阅,它永远不会到达重定向的下一行,因为如果找不到任何内容,find_by_customer_reference
会吐出 404,但我想要一些方法它返回 nil
,这样我就可以将其转到下一行,将用户重定向到那里。
有谁知道我如何可以温和地失败,或者如果没有找到对象,我可以重定向用户的更好方法?谢谢。
最佳答案
大概该方法正在引发 ActiveRecord::RecordNotFound
异常,您可以捕获该异常并将其转换为重定向:
begin
@current_subscription = Chargify::Subscription.find_by_customer_reference(@dealer.id)
rescue ActiveRecord::RecordNotFound
redirect_to dealers_path
end
关于ruby-on-rails - 如果找不到对象则重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12938257/