我正在尝试使用bandit gem设置Rails 3.2,Ruby 1.9应用。
我已捆绑安装了gem,运行bandit:install
并将bandit.yml
修改为{for {} round_robin
和memory
。
但是,所有启动开发服务器(rails s
)的尝试都会导致以下错误:
/Users/michaelbuckbee/Sites/bshapp/config/routes.rb:148:in `block in ': uninitialized constant Bandit::Engine (NameError) from /Users/michaelbuckbee/.rvm/gems/ruby-1.9.3-p0@bshapp/gems/actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:282:in `instance_exec' from /Users/michaelbuckbee/.rvm/gems/ruby-1.9.3-p0@bshapp/gems/actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:282:in `eval_block' from /Users/michaelbuckbee/.rvm/gems/ruby-1.9.3-p0@bshapp/gems/actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:260:in `draw' from /Users/michaelbuckbee/Sites/bshapp/config/routes.rb:1:in `'
如果我从Bandit::Engine
删除routes.rb
行并进入rails控制台,我就可以成功创建强盗实验。
答案 0 :(得分:1)
我只是按照强盗自述文件中的说明操作,并得到了同样的错误。目前最新的标记版本为bandit-0.1.0
;如果您没有使用gem 'bandit'
指定任何选项,这就是bundler将安装的内容。我怀疑你使用的是同一个版本。查看该版本的来源,Bandit::Engine
不存在。它确实包含在强盗HEAD中,目前在提交4c552c1efa上。从HEAD捆绑解决了我的问题。
因此,在Gemfile中添加以下内容,捆绑安装,然后重试服务器:
gem 'bandit', :git => "git://github.com/bmuller/bandit.git"