由find_by_sql()引发的Ruby on rails异常

时间:2013-06-28 23:37:53

标签: ruby-on-rails

我在我的控制器中使用了find_by_sql()方法,如何处理使用此方法执行sql查询引发的异常?

1 个答案:

答案 0 :(得分:0)

您的问题有点模糊,但我尝试提供一些信息。

Rails只是Ruby,所以学习如何在Ruby中处理异常是关键,因为我推荐

一旦你完成了它,它坦率地取决于你的应用程序,我会说你不应该在控制器中处理它,并且一个类或(有点丑陋)模型应该这样做,因为它们应该有商业逻辑。

作为旁注,你应该考虑是否可以使用异常,Ruby,因为许多动态语言很容易检查值,所以你可以避免提高它。

最后,如果你只是想知道 你可以做到这一点:

begin
  # find_by_sql
rescue ActiveRecord::RecordNotFound
  # handle not found error
rescue ActiveRecord::ActiveRecordError
  # handle other ActiveRecord errors
rescue # StandardError
  # handle most other errors
rescue Exception
  # handle everything else
end

或控制器中的rescue_from方法。

来自this answer

希望在某种程度上有所帮助。