我正在编写一个很小的Sinatra应用程序(Facebook Messenger机器人),所以我使用的是facebook-messenger gem。下面是我的config.ru中的内容
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)此错误的原因可能是什么?
发布于 2017-08-27 15:49:39
Ruby文件的内容是由Rack::Builder处理的,而不是config.ru本身。具体地说,include行是在Rack::Builder的上下文中计算的,这给了你未定义的方法。根据代码的其余部分,您不需要包含它,因为您使用内部Module/Class的完整路径
run Facebook::Messenger::Server如果你真的需要把它包含进来,那就把它包含在separete (ruby)文件中,并需要config.ru中的那个文件。
https://stackoverflow.com/questions/45901826
复制相似问题