私はSinatraとActiveRecord(3.2.3)で小さなアプリを作成しようとしています。ActiveRecord接続の警告です。 (データベース接続は自動的に閉じられません)
これは私のメインのファイルがどのように見えるかです:
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') { ... }
...
それは動作しますが、時々私は、コンソールに警告を得る:
DEPRECATION警告:データベース接続が自動的に を閉じられませんが、 スレッドの最後にデータベース接続を閉じてください。
close
に接続してください。例: ActiveRecord :: Base.connection.close '
警告が発生すると、ページが更新されるまでに時間がかかります。 接続をどこで閉じるべきか分かりません。私はファイルの末尾にActiveRecord::Base.connection.close
を入れようとしましたが、それは助けになりません。
更新:
私はまた、サーバーを再起動しなくても効果を見るためにsinatra-contrib宝石からシナトラ/リロード機能プラグインを使用することを言及するのを忘れてしまいました。
require "sinatra/reloader"
私がコメントアウトすると、問題は消えます。しかし、とにかく、私はどのようにリローダを無効にせずに問題を取り除くのだろうかと思っています。
驚くばかりです。ありがとう –