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 テンプレートでそれらを使用するために、Ember-Data でこれらの値を取得する方法のヒントを教えてもらえますか? この問題の一時的な回避策を見つけた人はいますか?

少しでも助けていただければ幸いです;)

AMS の JSON API アダプターとカミナリ ページネーションの組み合わせに関する参照: https://github.com/rails-api/active_model_serializers/blob/master/docs/howto/add_pagination_links.md

編集:

この問題でいくつかの進歩を遂げた後、Ember から Rails API へのリクエストで params の
ようなハッシュを渡すにはどうすればよいですか?page: { number: x, size: y }

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 に答える