-1

我在 Ember 和 Rails 应用程序中定义了两个模型:

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()会让 ember 做一个请求。

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 回答