2

我正在 couchdb 之上构建一个 rails 应用程序,并决定尝试 couch_potato 和 simple_stored gem,因为它们似乎在其余 api 之上添加了一个不错的功能集,并将 couchdb 开发“放在了轨道上”。

从我可以看到 SimlyStored/Couch 在 couch_potato 层之上工作,所以据我了解,基本的 couch_potato 功能应该可以从包含 SimplyStored:: Couch 的类中访问。

但是,我无法使用view关键字在包含 SimplyStored 的模型中创建自定义视图。

例如,以下代码:

Class MyExample
  include SimplyStored::Couch
  property :name
end

将生成一个名为_design/myexample的设计文档,其中包含一个名为all_documents的视图 ,用于find(..)方法。这确实非常好。

但是将代码更改为

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

不会像我期望的那样添加一个名为示例的视图,但是我肯定会在某处遗漏一点。

因此,如果有人对如何使用这些框架定义其他自定义视图有一些建议,我将不胜感激。

谢谢,

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 回答