【发布时间】:2012-04-28 19:26:56
【问题描述】:
我正在尝试使用 Sinatra 和 ActiveRecord (3.2.3) 创建一个小应用程序。
这是我的主文件的样子:
require "sinatra"
require "sinatra/reloader"
require "active_record"
...
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: 'db.sqlite3',
host: 'localhost',
)
class Post < ActiveRecord::Base
...
end
get('/') { ... }
get('/posts') { ... }
...
它可以工作,但有时我会在控制台中收到警告:
弃用警告:不会关闭数据库连接 自动,请在结束时关闭您的数据库连接 通过在您的连接上调用
close进行线程。例如: ActiveRecord::Base.connection.close'
当出现警告时,页面刷新需要很长时间。
我不明白我应该在哪里关闭连接。我尝试将ActiveRecord::Base.connection.close 放在文件底部,但没有帮助。
更新:
我忘了提到我还使用来自sinatra-contrib gem 的 sinatra/reloader 插件来查看效果而无需重新启动服务器。
require "sinatra/reloader"
如果我将其注释掉,那么问题就会消失。但无论如何,我想知道如何在不禁用重新加载器的情况下解决这个问题。
【问题讨论】:
标签: ruby activerecord sinatra