Наконец-то разобрался с помощью Кристиана Мандрупа в Google Group.Спасибо, Кристиан.Мне нужно было раскомментировать config.generator в моем файле application.rb и изменить orm с active_record на mongo_mapper.(Кстати, ошибка, которую я получал раньше при попытке запустить генератор, была "" Не указано значение для обязательных параметров '--orm'. ")
Подробнее здесь: http://www.viget.com/extend/rails-3-generators-hooks/
Что бы это ни стоило, я включаю весь процесс, который мне потребовался для правильной совместной работы MongoDB и Rails 3.
Установка MongoDB в OSX
$ sudo port install mongodb
Создание каталога данных:
$ sudo mkdir -p /data/db
Установка разрешений для каталога данных:
$sudo chown `id -u` /data/db
Запуск Mongo в терминале:
$ mongod run
Посетить локальный хостчтобы убедиться, что MongoDB работает:
http://localhost:28017/
Создайте новый проект с Rails 3:
$ rails new projectname --skip-activerecord
Добавьте это в gemfile:
require 'rubygems'
gem 'mongo', '1.0'
source 'http://gemcutter.org'
gem 'rails', '3.0.0.beta4'
gem "mongo_mapper"
gem 'bson_ext', '1.0'
uncomment out (и измените) эти строки в файле application.rb:
config.generators do |g|
g.orm :mongo_mapper
end
Создайте файл config / initializer / mongo.rb:
MongoMapper.connection = Mongo::Connection.new('localhost', 27017)
MongoMapper.database = "projectname-#{Rails.env}"
Создайте файл lib / tasks / mongo.rake:
namespace :db do
namespace :test do
task :prepare do # Stub out for MongoDB
end
end
end
Установить гемы:
$bundle install
Создать первую модель:
$rails generate scaffold Product name:string --skip-migration
Создать файл models / product.rb:
class Product
include MongoMapper::Document
key :name, string
end