-1

EmberとRailsアプリケーションで2つのモデルを定義しています。

App.Library = DS.Model.create({
  books: DS.hasMany('App.Book')
});
App.Book = DS.Model.create({
  library: DS.belongsTo('App.Library')
});

バックエンド側では、ライブラリごとに複数の本があります。それらの本を取得したいのですが、これを行うときにバックエンド呼び出しがありません(ライブラリオブジェクトは正しく、背面のIDと一致するIDを持っています) -終わり):

var libraryBooks = library.get("books");

この特定のライブラリのすべての本をフェッチするために、Rails APIへのバックエンド呼び出しを期待していますが、代わりに、Ember.OrderedSetバックエンド呼び出しなしで空になります。

私はEmberから始めているので、これは正しくない可能性があります。この場合、モデルのIDしかない場合に、特定のモデルの「hasmany」をバックエンドから直接取得するための最良の方法は何ですか。

4

1 に答える 1

-1

.find()残り火にリクエストを実行させます。

App.Library.find(1/* the id of the library*/).get('books');

/librarys/1それは私が思うに要求になります。次のように複数形を構成できます。

DS.RESTAdapter.configure("plurals", {
    library: "libraries"
});

今、リクエストは/libraries/1

また、おそらく図書館で本を入手することもできます。

App.Book.find({library: 1});

バックエンドで自分自身を処理するlibrary: 1必要があります。emberdataはそれをクエリ文字列として送信します。このような:/books?library=1

ember-dataに関するいくつかのドキュメントがあります

于 2013-01-18T13:05:21.527 に答える