2017-08-27 34 views
2

我正在寫一個很小的Sinatra應用程序(Facebook Messenger bot),所以我使用的是facebook-messenger寶石。下面是我在config.ru得:由於NoMethodError無法啓動機架式服務器

require './app' 
require_relative 'bot' 

require 'facebook/messenger' 
include Facebook::Messenger 


map '/webhook' do 
    run Sinatra::Application 
    run Facebook::Messenger::Server 
end 

但只要我嘗試啓動我的服務器rackup -p 5000命令,它返回我下面的錯誤:

/chatbot/config.ru:5:in `block in <main>': undefined method `include' for #<Rack::Builder:0x007feb32926e70> (NoMethodError) 

什麼可以這樣做的原因錯誤?

回答

3

config.ru文件的內容由Rack :: Builder處理,而不是由Ruby本身處理。具體而言,包含行將在Rack :: Builder中進行評估,併爲您提供未定義的方法。根據該代碼的其餘部分,你不需要它作爲你使用的完整路徑內模塊/類

run Facebook::Messenger::Server 

如果您真的需要包括它在separete這樣做(紅寶石)的文件,並要求該文件在config.ru。