我尝试在一个项目中安装 rspec 和 mongoid(按照“Rails Deep Dive”一书中的示例),当我尝试从 RSpec 运行生成器时出现错误。
这是gemfile:
gem 'rails', '3.2.11'
gem 'devise', "~> 1.4.2"
gem 'mongoid', "~> 2.1.8"
gem 'mongoid_spacial', '~> 0.2.13'
gem 'haml', '~> 3.1.2'
gem 'bson_ext', '~> 1.3.1'
gem 'rails-backbone'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
group :test, :development do
gem 'rspec-rails', '~> 2.6.1'
gem 'mongoid-rspec', '~> 1.4.4'
gem 'capybara', '~> 1.0.1'
gem 'factory_girl_rails', '~> 1.1.0'
gem 'database_cleaner', '~> 0.6.7'
gem 'jasmine', '~> 1.0.2.1'
end
我使用生成器生成了一个 mongo 配置文件,结果如下:
development:
host: localhost
database: loccasions_development
test:
host: localhost
database: loccasions_test
# set these environment variables on your prod server
production:
host: <%= ENV['MONGOID_HOST'] %>
port: <%= ENV['MONGOID_PORT'] %>
username: <%= ENV['MONGOID_USERNAME'] %>
password: <%= ENV['MONGOID_PASSWORD'] %>
database: <%= ENV['MONGOID_DATABASE'] %>
我可以确认 MongoDB 已启动并正在运行,我可以访问 Web 浏览器界面。但是现在,当我运行时,出现rails g rspec:install
以下错误:
NOTE: Gem.available? is deprecated, use Specification::find_by_name. It will be removed on or after 2011-11-01.
Gem.available? called from /home/glenn/.rvm/gems/ruby-1.9.3-p362/gems/jasmine-1.0.2.1/lib/jasmine/base.rb:64.
host is not a valid option for Mongo::MongoClient
/home/glenn/.rvm/gems/ruby-1.9.3-p362/gems/bson-1.8.2/lib/bson/bson_c.rb:24:in `serialize': wrong number of arguments(4 for 3) (ArgumentError)
我怎样才能解决这个问题?