【问题标题】:Extend Ember RESTAdapter to work with CouchDB扩展 Ember RESTAdapter 以使用 CouchDB
【发布时间】:2013-09-08 19:39:19
【问题描述】:

我基本上将 CouchDB 用于我的整个后端,而将 Ember 用于基本上我的整个前端,我需要找到一种方法来使两者之间的 json 数据兼容,尤其是关于“命名根”约定(这里是ember json expectationscouch api)。我没有使用 Ruby 或任何其他库,所以我很确定 this couch adapter 对我不可用。

我读到here 需要扩展extract 方法才能使其正常工作,但我被这整件事吓坏了,不知道从哪里开始。 RESTAdapterJSONSerializer 是什么关系?我不确定这一切是如何结合在一起的,我害怕浪费时间并可能搞砸一些事情。有没有更简单的方法来做到这一点?

原谅我的小白。

【问题讨论】:

    标签: ember.js couchdb ember-data


    【解决方案1】:

    https://github.com/roundscope/ember-couchdb-kit 有一个 CouchDB 适配器似乎是最新的(最近一次更新是 2 天前)。正如它所说,“受pangratz/ember-couchdb-adapter 启发,包含许多修复和新手功能。”

    虽然在 Rails 项目中安装很容易,但在 Rails 项目之外仍然可以。只需按以下顺序包含 dist 目录中的所有内容:

    • ember-couchdb-kit
    • 注册表
    • 文档适配器
    • 附件适配器
    • 转速适配器
    • 更改提要

    【讨论】:

    • 太棒了!它说我应该通过使用rake 的规范来学习界面,但是,你知道,我没有那个,所以我很想知道如何在不这样做的情况下获得规范?
    • 另外,这行似乎暗示:open -a safari http://localhost:8888 rake jasmine 将在本地服务器上运行规范文档?坦率地说,这听起来很烦人哈哈哈我正在运行一个本地测试服务器,我不想让我的 apache 实例搞砸。
    • 我发现了我的最后一条评论(我觉得有点愚蠢),但现在所有的规范都失败了。有什么建议吗?我已经正式问过question about it
    【解决方案2】:

    我在这里读到我需要扩展 extract 方法以使其正常工作

    您引用的 SO 帖子(和沙发适配器)已过时。 Ember Data 在过去几周发生了很大变化,因此许多旧答案可能会产生误导。

    我被这整件事吓坏了,不知道从哪里开始。

    好消息是,做你正在尝试的事情变得更容易了。虽然编写自定义适配器和序列化程序曾经是一个高级主题,但现在非常简单。

    目前最好的资源是:

    RESTAdapter 和 JSONSerializer 是什么关系?

    适配器是一个对象,它接收来自存储的请求并将它们转换为对持久层采取的适当操作。 RESTAdapter 是一个适配器,它知道如何通过 XHR 传输 JSON 来与 restful HTTP 服务器通信。

    序列化程序负责对一组记录进行序列化和反序列化。 JSONSerializer 只是一个知道如何读写 JSON 的序列化器。

    使用新的 ember-data,扩展/配置 rest-adapter 和 json 序列化程序以与 CouchDB 后端对话应该非常简单。查看rest-adapter-and-serializer-configuration 中的一些示例。

    【讨论】:

    • 一个很好的回应。对不起,我花了这么长时间才认出它!这个项目有很多干扰......
    • 好吧,另一个答案最终对我来说是更好的选择。我试图自己做适配器,我刚刚意识到我让“不是这里发明的”来找我,所以我放弃了它并继续这样做。
    • 好电话。我没有听说过其他 CouchDB 适配器,但乍一看,它看起来很可靠。
    猜你喜欢
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多