In my class, I want to include multiple modules. Each module can define its own property to persist in couchDB.
Here is an example:
module Owner
property :name
end
module Animal
property :type
end
class Cat
include Owner
include Animal
end
This doesn't work. I got this error: "undefin开发者_如何转开发ed method `property'". I tried added CouchRest::Model::Embeddable but it won't work for module either. All the examples I am seeing are extending from CouchRest::Model::Base. However, I won't be able to use this approach because Ruby doesn't support multiple inheritance.
I won't be able to change the underlying JSON format. My desired format is {"name":"tom","type":"cat"}.
Any help would be appreciated. Thanks!
According to http://www.couchrest.info/model/embedding.html I think your example would be:
class Owner < CouchRest::Model::Base
include CouchRest::Model::Embeddable
property :name
end
class Animal < CouchRest::Model::Base
include CouchRest::Model::Embeddable
property :type
end
class Cat
property :owner, Owner
property :animal, Animal
end
精彩评论