Исключение при использовании MongoMapper с Ruby: "Нет файла для загрузки mongo_mapper"
Я скачал самоцвет mongo_mapper и он успешно установлен. Теперь я использую его в своем приложении, и оно всегда выдает исключение "Нет файла для загрузки mongo_mapper". Что это должно значить?
require 'mongo_mapper'
include mongo
ОБНОВЛЕНИЕ: После использования требуется сначала "rubygems". Моя первоначальная проблема исчезла, теперь есть еще одна странная проблема:
Я получаю следующее:
**Notice: C extension not loaded. This is required for optimum MongoDB Ruby driver performance.
You can install the extension as follows:
gem install bson_ext
If you continue to receive this message after installing, make sure that the
bson_ext gem is in your load path and that the bson_ext and mongo gems are of the same version.
Я уже установил bson_ext, но он продолжает выдавать это исключение!
ОБНОВЛЕНИЕ 2: предупреждение bson исчезло, но я не могу перечислить элементы в коллекции Customers.
require 'rubygems'
require 'mongo_mapper'
include Mongo
MongoMapper.database = 'Northwind'
class Customer
include MongoMapper::Document
key :FirstName, String
key :LastName, String
key :UserName, String
end
customers = Customer.all
puts customers.count # this always is 0. It should be 1 since there is one item in the Customers collection
puts customers
1 ответ
Вы должны включить rubygems, прежде чем включить драгоценный камень.
require 'rubygems'
require 'mongo_mapper'
Я также уверен, что ваша следующая строка include mongo
неверно, вы, вероятно, хотите include Mongo
, На самом деле вы, вероятно, ничего не хотите вообще, так как ваш план заключается в использовании MongoMapper
, а не водитель напрямую.
Обновить:
Для bson_ext
вещь, это не исключение, просто предупреждение. Очевидно, что для производственного использования вы захотите разобраться в этом, и вы можете сделать это, убедившись, что у вас установлены последние версии драгоценных камней: sudo gem install mongo bson_ext mongo_mapper
который должен сообщить вам (по состоянию на 4 октября 2010 г.), что он установил mongo 1.1, bson_ext 1.1 и mongo_mapper 0.8.4.
Обновление 2:
Нужно больше информации. Клиент, которого вы ожидаете увидеть, появляется в оболочке Монго? Как ты это вставил? Вы уверены, что названия коллекций верны?
Итак, если вы использовали какую-то вещь.NET для создания набора данных и не можете изменить его сейчас, вы можете указать имя коллекции вручную для вашего документа MongoMapper. Вот так:
class Customer
include MongoMapper::Document
set_collection_name 'Customers'
# other stuff
end