2017-08-27 14 views
2

私は小さなSinatraアプリケーション(Facebook Messengerボット)を作成していますので、facebook-messenger gemを使用しています。ここで私は私のconfig.ruに持っているものです:NoMethodErrorのためにRackサーバーを起動できません

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ファイルの内容は、Ruby自身ではなく、Rack :: Builderによって処理されます。具体的には、include行はRack :: Builderのコンテキストで評価され、未定義のメソッドを提供します。残りのコードによると、あなたは、内部モジュール/クラスに

run Facebook::Messenger::Server 

をフルパスを使用すると、あなたが本当にそれを含める必要があり、separete(ルビー)ファイルにそうして必要な場合は、それを含める必要がいけませんそのファイルはconfig.ruにあります。

関連する問題