मैं सिनात्रा और 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') { ... }
...
यह काम करता है, लेकिन कभी कभी मैं कंसोल में एक चेतावनी मिलती है:
अस्वीकार्यता चेतावनी: डेटाबेस कनेक्शन अपने आप बंद नहीं किया जाएगा, अपने कनेक्शन पर
close
पर कॉल करके धागे के अंत में अपने डेटाबेस कनेक्शन को बंद करें। उदाहरण के लिए: ActiveRecord :: Base.connection.close '
जब चेतावनी होती है यह एक लंबे समय से पहले पृष्ठ रीफ्रेश लेता है। मुझे समझ में नहीं आता कि मुझे कनेक्शन बंद करना चाहिए। मैंने फ़ाइल के नीचे ActiveRecord::Base.connection.close
डालने का प्रयास किया है, लेकिन इससे मदद नहीं मिलती है।
अद्यतन:
मुझे लगता है कि मैं भी sinatra-contrib मणि से सिनात्रा/reloader प्लगइन का उपयोग सर्वर को पुन: प्रारंभ बिना प्रभाव को देखने के लिए उल्लेख करना भूल गया।
require "sinatra/reloader"
यदि मैं इसे टिप्पणी करता हूं तो समस्या गायब हो जाती है। लेकिन वैसे भी, मैं सोच रहा हूं कि रीलोडर को अक्षम किए बिना समस्या से कैसे छुटकारा पाना है।
बहुत बढ़िया। धन्यवाद –