铁轨和mongodb

时间:2011-02-02 11:49:20

标签: ruby-on-rails ruby-on-rails-3 mongodb mongomapper

我正在尝试使用Rails 3的mongodb。按照mongomapper的网站和其他几个人的指示,我无法解决一个小问题......

没有为所需选项' - ''提供价值

我在配置文件夹中添加了一个文件mongo.rb来制作东西?

MongoMapper.connection = Mongo::Connection.new('localhost', 27017)
MongoMapper.database = "cobboc_#{Rails.env}"

if defined?(PhusionPassenger)
    PhusionPassenger.on_event(:starting_worker_process) do |forked|
    MongoMapper.connection.connect if forked
  end
end

4 个答案:

答案 0 :(得分:2)

mongo.rb文件应位于config / initializers中并包含:

require 'mongo_mapper' # loading mongo_mapper
MongoMapper.connection = Monog::Connection.new # localhost and port 27017 are the default values
MongoMapper.database = "cobboc_#{Rails.env}"

Passenger扩展已在MongoMapper代码中完成。

如果您想使用database.yml文件进行配置,您可以这样做:

require 'mongo_mapper'
db_config = YAML::load(File.read("#{Rails.root}/config/database.yml"))

if db_config[Rails.env] && db_config[Rails.env]['adapter'] == 'mongodb'
  mongo_config = db_config[Rails.env]
  MongoMapper.connection = Mongo::Connection.new(mongo_config['host'])
  MongoMapper.database = mongo_config['database']
end

答案 1 :(得分:1)

项目rails3-generators提供了MongoMapper模型生成器来解决您的问题。需要Gemfile中的gem。

# Gemfile
gem 'rails3-generators'

注意,Rails 3生成器有movedthe mongo_mapper gem

答案 2 :(得分:1)

您没有指定获得“orm”错误的位置

如果它处于“生成模型”的情况下,您可以调用以下内容:

sudo gem install rails3-generators

rails生成模型Book --skip-migration --orm = mongomapper

答案 3 :(得分:0)

我在跑步:

$ rails generate scaffold project name:string

>> No value provided for required options '--orm'

解决方案:

  1. 将rails3-generators添加到Gemfile
  2. $ rails g scaffold项目名称:string --skip-migration --orm = mongomapper
相关问题