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-contribgemのsinatra/reloaderプラグインも使用していることを忘れました。
require "sinatra/reloader"
コメントアウトすると、問題は解消されます。しかしとにかく、私はリローダーを無効にせずに問題を取り除く方法を考えています。