1

私のクラスでは、複数のモジュールを含めたいと思います。各モジュールは、couchDBに永続化する独自のプロパティを定義できます。

次に例を示します。

module Owner
 property :name
end

module Animal
 property :type
end

class Cat
 include Owner
 include Animal
end

これは機能しません。「未定義のメソッド`property'」というエラーが発生しました。CouchRest :: Model :: Embeddableを追加してみましたが、モジュールでも機能しません。私が見ているすべての例は、CouchRest :: Model::Baseから拡張されています。ただし、Rubyは多重継承をサポートしていないため、このアプローチを使用することはできません。

基になるJSON形式を変更できなくなります。私の希望する形式は{"name": "tom"、 "type":"cat"}です。

どんな助けでもいただければ幸いです。ありがとう!

4

1 に答える 1

0

http://www.couchrest.info/model/embedding.htmlによると、あなたの例は次のようになると思います:

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
于 2011-11-09T20:29:53.020 に答える