未初始化的恒定Bandit :: Engine

时间:2013-05-10 06:52:30

标签: ruby-on-rails ruby-on-rails-3 rails-engines bandit

我正在尝试使用bandit gem设置Rails 3.2,Ruby 1.9应用。

我已捆绑安装了gem,运行bandit:install并将bandit.yml修改为{for {} round_robinmemory

但是,所有启动开发服务器(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控制台,我就可以成功创建强盗实验。

1 个答案:

答案 0 :(得分:1)

我只是按照强盗自述文件中的说明操作,并得到了同样的错误。目前最新的标记版本为bandit-0.1.0;如果您没有使用gem 'bandit'指定任何选项,这就是bundler将安装的内容。我怀疑你使用的是同一个版本。查看该版本的来源,Bandit::Engine不存在。它确实包含在强盗HEAD中,目前在提交4c552c1efa上。从HEAD捆绑解决了我的问题。

因此,在Gemfile中添加以下内容,捆绑安装,然后重试服务器:

gem 'bandit', :git => "git://github.com/bmuller/bandit.git"