我想添加一個輔助連接到蒙戈DB到我的模塊化應用西納特拉西納特拉助手在外部文件給LoadError
當我在控制檯輸入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
,但我不能完全肯定。我沒有製作寶石,只是一個sinatra應用程序,所以也許我的目錄層次結構不正確。我沒有rake文件或寶石規格。我需要他們嗎?
一些谷歌搜索也發現了這一點:
sinatra helper in external file
戴夫凹陷回答我的問題很好,但我不能得到它的工作。