4

目前我正在使用 Rails (4.1.0) API 和 Ember (2.1.0) 开发应用程序,我很难在 Ember 侧工作中进行分页。

Rails API JSON 输出包括自动生成的分页链接(来自 AMS 中的 JSON API 适配器和 Kaminari 分页的组合),如下所示:

"links": {
    "self": "http://example.com/articles?page[number]=3&page[size]=1",
    "first": "http://example.com/articles?page[number]=1&page[size]=1",
    "prev": "http://example.com/articles?page[number]=2&page[size]=1",
    "next": "http://example.com/articles?page[number]=4&page[size]=1",
    "last": "http://example.com/articles?page[number]=13&page[size]=1"
  }

谁能给我一个提示,如何在 Ember-Data 中获取这些值,以便在 Ember 模板中使用它们?有没有人找到解决这个问题的临时解决方法(因为 Ember 有一天可能会完全兼容 JSON API)?

每一点帮助都将不胜感激;)

参考 AMS 和 Kaminari 分页中 JSON API 适配器的组合: https ://github.com/rails-api/active_model_serializers/blob/master/docs/howto/add_pagination_links.md

编辑:

在这件事上取得了一些进展后,我认为现在最好问:
如何page: { number: x, size: y }在从 Ember 向 Rails API 的请求中传递 hash like in params?

4

1 回答 1

1

Ember 将这个描述有效负载的数据称为:元/元数据。希望这将有助于未来的搜索。

您只需要创建一个序列化程序,它会拦截来自服务器的有效负载并将 response.links 移动到 Ember Data 的元数据中。

Ember 元数据指南:http: //guides.emberjs.com/v2.1.0/models/handling-metadata/

Ember Data API 的 extractMeta 方法: http ://emberjs.com/api/data/classes/DS.JSONAPISerializer.html#method_extractMeta

或者,查看您发布的 JSON API 链接,您甚至可以更改它,以便在 response.meta 中回复链接。

https://github.com/rails-api/active_model_serializers/blob/master/docs/howto/add_pagination_links.md#json-adapter

于 2015-10-14T17:27:54.667 回答