捆绑器不适用于机架应用程序

| 这是我的代码
# config.ru
require \"rubygems\"
require \"bundler\"
Bundler.setup
Bundler.require

FooApp = Proc.new do |env|
  [200, {\'Content-Type\' => \'text/plain\'}, \"foo\"]
end
Routes = Rack::Mount::RouteSet.new do |set|
  set.add_route FooApp, { :request_method => \'GET\', :path_info => %r{^/foo$} }, {}, :foo
end
run Routes
我的Gemfile看起来像这样
source :rubygems
gem \'rack-mount\'
我做了捆绑安装,生成了Gemfile.lock。 当我跑步
rackup config.ru
我收到以下错误
uninitialized constant Rack::Mount (NameError)
如果我删除对捆绑程序的依赖,则该代码有效。但是我想打捆机工作。这段代码是大型应用程序的一种小形式。     
已邀请:
Bundler.require
尝试在gem \
lib
目录中加载一个名为
rack-mount.rb
(与gem的名称相同)的文件。那是Rubygems约定。对于大多数Rack gem,这是行不通的,因为它们不包含此类文件。 取而代之的是命名空间。例如,rack-mount \的ѭ6文件夹包含一个
rack
文件夹,其中包含一个名为
mount.rb
的文件(请参阅GitHub上的rack-mount / tree / master / lib)。 要解决此问题,您必须告诉Bundler需要哪个文件:
source :rubygems
gem \"rack-mount\", :require => \"rack/mount\"
Bundler文档包含有关如何编写Gemfile的更多信息。     

要回复问题请先登录注册