我正在在couchdb之上构建一个rails应用程序,并决定尝试使用couch_potato和simply_stored gems,因为它们似乎在其余api上面添加了一个很好的功能集,并将couchdb开发放在了轨道上。
从我所看到的SimlyStored / Couch在couch_potato层之上工作,所以根据我的理解,基本的couch_potato功能应该可以从包含SimplyStored的类中访问:: 沙发上。
但是,我无法使用 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
不会像我期望的那样添加一个名为example的视图,但是我肯定错过了一个点。
因此,如果有人对如何使用这些框架定义其他自定义视图有一些建议,我真的很感激。
谢谢,
答案 0 :(得分: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