Я пытаюсь создать базовое приложение Rails CRUD для базы данных CouchDB, размещенной на Cloudant.
Я использую couch_potato в качестве слоя персистентности и правильно подключаю его к моей базе данных Cloudant.
Проблемы, с которыми я сталкиваюсь, состоят в том, что моя первая модель не увидит существующие документы в моей базе данных CouchDB, , если Я не добавлю поле ruby_class
, которое соответствует названию моей модели.
Моя простая пользовательская модель:
class User
include CouchPotato::Persistence
property :id, :type => Fixnum
property :FullName, :type => String
view :all, :key => :FullName
end
Пример документа CouchDB:
{
"_id": 123456,
"_rev": "4-b96f36763934ce7c469abbc6fa05aaf3",
"ORGID": 400638,
"MyOrgToken": "19fc342d50f9d8df1ecd5e5404f5e5f7",
"FullName": "Jane Doe",
"Phone": "555-555-5555",
"MemberNumber": 123456,
"Email": "jane@example.com",
"LoginPWHash": "14a3ccc0e6a50135ef391608e786f4e8"
}
Теперь, когда я используюмой all
вид из консоли rails, я не получаю никаких результатов:
1.9.2-p290 :002 > CouchPotato.database.view User.all
=> []
Если я добавлю поле и значение "ruby_class: User"
в вышеупомянутый документ CouchDB, то я получу результаты обратно вконсоль:
1.9.2-p290 :003 > CouchPotato.database.view User.all
=> [#<User _id: "123456", _rev: "4-b96f36763934ce7c469abbc6fa05aaf3", created_at: nil,
updated_at: nil, id: "123456", FullName: "Jane Doe">]
Я работаю с большим набором данных о клиентах и не хочу писать сценарии для добавления поля ruby_class
в каждый документ (и я не могуразрешено).
Как я могу заставить свое приложение распознавать эти существующие документы CouchDB без добавления поля ruby_class
?
Я не смог найти много документации для couch_potato и couchrest, которая показывает, как работать с существующимиБазы данных CouchDB.В большинстве примеров предполагается, что вы запускаете свой проект и базы данных с нуля.
Спасибо,
/ floatnspace