Как интегрировать mongoid в ruby ​​на рельсах с windows - PullRequest
0 голосов
/ 22 декабря 2011

ruby ​​версия 1.9.2p290

Я использую следующий набор gemset

D: \ work \ software \ mongoid> список драгоценных камней

* МЕСТНЫЕ ДРАГОЦЕННЫЕ КАМНИ *

abstract (1.0.0)
actionmailer (3.1.3, 3.1.0, 3.0.1)
actionpack (3.1.3, 3.1.0, 3.0.1)
activemodel (3.1.3, 3.1.0, 3.0.1)
activerecord (3.1.3, 3.1.0, 3.0.1)
activerecord-alt-mongo-adapter (0.1.0)
activerecord-sqlserver-adapter (3.1.0.0)
activeresource (3.1.3, 3.1.0, 3.0.1)
activesupport (3.1.3, 3.1.0, 3.0.1)
ansi (1.4.1)
arel (2.2.1, 1.0.1)
bcrypt-ruby (3.0.1 x86-mingw32, 3.0.0 x86-mingw32)
bson (1.5.2, 1.1.1)
bson_ext (1.5.2, 1.1.1)
builder (3.0.0, 2.1.2)
bundler (1.0.18)
coffee-rails (3.1.1, 3.1.0)
coffee-script (2.2.0)
coffee-script-source (1.2.0, 1.1.3, 1.1.2)
erubis (2.7.0, 2.6.6)
execjs (1.2.13, 1.2.12, 1.2.4)
hike (1.2.1)
i18n (0.6.0, 0.4.2)
jquery-rails (1.0.19)
json (1.6.3)
mail (2.3.0, 2.2.19, 2.2.9)
mime-types (1.17.2, 1.16)
minitest (2.9.1, 1.6.0)
mongo (1.5.2, 1.0.9)
mongo_mapper (0.10.1)
mongodb (2.1.0)
mongoid (2.3.4, 2.0.0.beta.19)
multi_json (1.0.4, 1.0.3)
open4 (1.1.0)
pg (0.11.0 x86-mingw32)
Platform (0.4.0)
plucky (0.4.3)
polyglot (0.3.3, 0.3.2, 0.3.1)
POpen4 (0.1.4)
rack (1.3.5, 1.3.2, 1.2.4, 1.2.1)
rack-cache (1.1, 1.0.3)
rack-mount (0.8.3, 0.6.14, 0.6.13)
rack-ssl (1.3.2)
rack-test (0.6.1, 0.5.7, 0.5.6)
rails (3.1.3, 3.1.0, 3.0.1)
railties (3.1.3, 3.1.0, 3.0.1)
rake (0.9.2.2, 0.9.2, 0.8.7)
rb-readline (0.4.1)
rdoc (3.12, 3.9.4)
rubygems-update (1.8.12)
rubyzip2 (2.0.1)
sass (3.1.12, 3.1.11)
sass-rails (3.1.5)
sprockets (2.0.3)
sqlite3 (1.3.5 x86-mingw32, 1.3.4 x86-mingw32)
sqlite3-ruby (1.3.3, 1.2.5 x86-mingw32)
thor (0.14.6, 0.14.3)
tilt (1.3.3)
tiny_tds (0.4.5 x86-mingw32)
treetop (1.4.10, 1.4.8)
turn (0.8.3, 0.8.2)
tzinfo (0.3.31, 0.3.29, 0.3.23)
uglifier (1.2.0)
will_paginate (3.0.2, 3.0.pre2)

когда я запускаю rake db:migrate, я получаю сообщение об ошибке

Пожалуйста, установите адаптер Монго: gem install activerecord-mongo-adapter (нет s файл для загрузки - active_record / connection_adapters / mongo_adapter)

при попытке установить activerecord-mongo-adapter появляется сообщение об ошибке

ERROR:  Could not find a valid gem 'activerecord-mongo-adapter' (>= 0) in any re
pository

database.yml содержит следующий код ...,

development:
      adapter:  mongo
      host:     localhost
      port:     27017
      database: mongo_development

test:
  adapter: mongo
  database: mongo_test
  host: localhost

production:
  adapter: mongo
  database: mongo_production
  host: localhost

1 Ответ

0 голосов
/ 22 декабря 2011

Mongoid не является адаптером ActiveRecord

Если вы хотите использовать mongoid, вам вообще не нужно использовать ActiveRecord (если, конечно, у вас также есть база данных SQL, используемая вашим приложением).Если вам не нужна активная запись, то вам, вероятно, потребуется полностью отключить инфраструктуру активной записи, иначе она, вероятно, будет жаловаться на невозможность подключения.

Так что в дополнение к тому, что вы не помещаете монго в базу данных.yml, ваши модели выглядят как

class Person
  include Mongoid::Document
  ...
  end
end

, а не наследуются от ActiveRecord::Base

Это также означает отсутствие миграций Activerecord и т. д.

...