2

私はcouchdbの上にレールアプリを構築しています.couch_potatoとsimply_storedの宝石を試してみることにしました.

私が見る限り、SimlyStored/Couch はcouch_potato レイヤーの上で機能するので、基本的なcouch_potato 機能は、SimplyStored::Couch を含むクラス内からアクセスできるはずです。

ただし、SimplyStored を含むモデルでカスタム ビューを作成するためにビューキーワードを使用できませんでした。

たとえば、次のコード:

Class MyExample
  include SimplyStored::Couch
  property :name
end

find(..)メソッド に使用されるall_documentsという名前のビューを含む_design/myexampleという名前のデザイン ドキュメントを生成します。これは確かに非常にいいです。

ただし、コードを次のように変更します

Class MyExample
  include SimplyStored::Couch
  property :name
  view :example, :map => "function(doc) { emit(doc.name, null)}", :include_docs => true, :type => :custom
end

example という名前のビューは期待どおりに追加されませんが、どこかが欠けていることは確かです。

したがって、これらのフレームワークを使用して追加のカスタム ビューを定義する方法について提案があれば、本当に感謝しています。

ありがとう、

4

1 に答える 1

4

ビュー宣言がビューを作成するのに十分ではないので、確かに何かを見逃しています。たとえば、クラスコードを次のように更新して、ビューの作成を明示的にトリガーする必要があります。

Class MyExample
 include SimplyStored::Couch
 property :name
 view :example, :map=>"function(doc) { emit(doc.name, null)}",:type => :custom
 CouchPotato.database.view MyExample.example
end
于 2010-04-21T07:17:05.353 に答える