相关疑难解决方法(0)

ActiveRecord连接警告.(数据库连接不会自动关闭)

我正在尝试用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') { ... }
...
Run Code Online (Sandbox Code Playgroud)

它有效,但有时我会在控制台中收到警告:

弃用警告:数据库连接不会自动关闭,请通过调用连接关闭线程末尾的数据库close连接.例如:ActiveRecord :: Base.connection.close'

发生警告时,页面刷新需要很长时间.我不明白我应该在哪里关闭连接.我试图放在 ActiveRecord::Base.connection.close文件的底部,但它没有帮助.

更新:

我忘了提到我还使用来自sinatra-contrib gem的sinatra/reloader插件来查看效果,而无需重新启动服务器.

require "sinatra/reloader"
Run Code Online (Sandbox Code Playgroud)

如果我发表评论,那么问题就会消失.但无论如何,我想知道如何在不禁用重新加载器的情况下解决问题.

ruby activerecord sinatra

10
推荐指数
2
解决办法
6894
查看次数

标签 统计

activerecord ×1

ruby ×1

sinatra ×1