我想按以下方式运行原始SQL查询:

ActiveRecord::Base.connection.execute(some_query);

我可以捕获执行查询时发生的任何错误吗?如果是,怎么办?execute是否返回任何内容?它没有在文档中说。

干杯

最佳答案

您可以像往常一样挽救错误。例如:

begin
  ActiveRecord::Base.connection.execute(some_query)
rescue
  # do stuff with exception
end

看看MySql (for example) adapter's code看看发生了什么。

在这种情况下,execute返回一个MySql::Result对象。

关于ruby-on-rails - 如何从Rails的ActiveRecord::Base.connection.execute中捕获错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1887389/

10-13 03:42