モジュール式のSinatraアプリケーションにmongodbに接続するためのヘルパーを追加しようとしています
foreman start
コンソールに入力すると、次のようになります。
/home/sunny/Programs/landing_pages/app.rb:17:in `block in <class:LandingPages>': undefined local variable or method `connect' for LandingPages:Class (NameError)
私のapp.rb
ファイルは次のようになります。
require 'sinatra/base'
require 'sinatra/partial'
require 'sinatra/db_helper'
require 'bundler/setup'
require 'mongo'
class LandingPages < Sinatra::Base
helpers Sinatra::DbHelper
configure do
$collection = connect
end
end
私./lib/sinatra/db_helper.rb
はこのように見えます:
require 'sinatra/base'
module Sinatra
module DbHelper
def connect
conn = Mongo::Connection.new("localhost")
db = conn.db("leads")
db.collection("laws")
end
end
helpers DbHelper
end
私config.ru
はこのように見えます:
require './app'
run LandingPages
私は次の指示に正しく従っていると思いました:
http://www.sinatrarb.com/extensions.html
しかし、私は完全にはわかりません。私はgemを作成していませんが、sinatraアプリを作成しているだけなので、ディレクトリ階層が正しくない可能性があります。rakeファイルやgemスペックを持っていません。それらが必要ですか?
いくつかのグーグルもこれを見つけました:
デイブサッグは私の質問に完全に答えますが、私はそれを機能させることができません。