1

有一段时间,我一直致力于构建一个小的 Ruby 库来与 CouchDB 接口,这是一个带有 HTTP 接口的简洁的小型文档数据库。主要特点是:

  • 文档对象是美化的哈希
  • JavaScript Map/Reduce 函数是用原生 Ruby 编写的,并使用 S 表达式解析为 JavaScript
  • 您可以与多个 Couch 数据库交互
  • 它应该与 Camping 等微框架很好地集成

我希望能够做这样的事情:

@recipes = Recipes.all

其中“Recipes”是定义文档具有的几个必需键的类(类名自动用作“种类”键)。

但在艰难时期,我可能想做这样的事情:

@recipes.each do |recipe|
    recipe.cost = "too much!!"
    recipe.push!
end

现在,显然为了能够像那样“推动”,我要么需要数据库在范围内的某个地方......要么让文档对象本身持有对数据库对象的引用?这在 ActiveRecord 等成熟的 ORM 中是如何完成的?

我不想做,你知道的recipe.push!(@couch_database_object),或者别的什么,因为那太恶心了!但我不想成为一些污染范围的卑鄙小人。

有什么建议吗?

4

0 回答 0