だから私は(私が思うに)Ember-dataに関する一般的な問題を抱えています。次の状況に適応するためにアダプターを適切にカスタマイズする方法を考えています。
次の 2 つのオブジェクトがあるPostとします。Tag
を呼び出すと、ingApp.Post.find()によってすべての投稿が返されます。見つかったのはです。これはいい。GETapi.com/postsApp.Post.find(1)api.com/posts/1
App.Tag.find()で利用可能なすべてのタグを返しますapi.com/tags。App.Tag.find(1)正しい URL で適切なタグを返します。また良い。
App.Post.createRecord({...})それを介して新しい投稿を作成するPOSTと、正しいURLになります。の作成も同様Tagsです。これまでのところ、すべてがダンディです。
Tagson aPostは、その投稿の「上」にあるため埋め込まれています。
App.Adapter.map("App.Post", {
tags: {embedded: 'always'}
});
読み込み中、Ember-data はすべてを正しく処理し、私は今でも非常に満足しています。
だから私の問題は、 aTagに a を追加することから来ていPostます。サーバーがサーバー側のすべてのことを行う場所にタグオブジェクトを配置したいPUTと思います。POSTapi.com/posts/1/tags
現在、
{embedded: 'always'}設定が設定された Ember-data は、オブジェクト全体(新しいオブジェクトを含む) を JSON 文字列化された文字列として送信PUTします。api.com/posts/1PostTag{embedded: 'always'}構成が設定されていない場合、ember-data はPUTオブジェクトにタグを付けようとし、パラメーターを含むオブジェクトをapi.com/tags送信して、サーバー側がサーバー側のすべてのことを実行できるようにします。Tagpost_id
サーバーがそのように設定されていないため、1 を実行したくありません。PUT/POST/GETs onapi.com/tagsは実際にはアプリケーションの「タグ管理」部分であり、実際には投稿にタグを適用するものではないため、2 は実行したくありません。この動作の別の例は、Github v3 API for Labels & Issues にあります。
ember-dataでこれを処理する方法を知っている人はいますか? ありがとう!