【发布时间】:2016-11-30 08:35:25
【问题描述】:
我在 Rails 中使用原生查询(因为我的查询很复杂,而且我认为它不能用 ActiveRecord 表达)。所以这是我的尝试:
get do
connection = ActiveRecord::Base.connection.raw_connection
connection.prepare('order_statistic', @@sql)
data = connection.exec_prepared('order_statistic', [params[:id]])
connection.close()
data
end
此代码第一次成功运行。但是第二次,它会抛出异常。 (我正在使用 PostgresSQL)
PG::ConnectionBad(连接已关闭)
如果我删除行 connection.close。我会遇到另一个例外:
PG::DuplicatePstatement(错误:准备好的语句“order_statistic” 已经存在
请帮助我如何正确使用原始查询。
谢谢
【问题讨论】:
标签: ruby-on-rails ruby database postgresql