数据真的支持嵌套的网址?

我有一个顶级会话对象,它可以有许多发言者。

我的REST ish端点允许我像这样获得所有会话

/会话/

我可以像这样获得给定会话的所有发言人

/会话/ 1 /扬声器/

使用当前版本的ember-data,我可以看到它试图通过这个URL找到所有的扬声器

/扬声器/

使用下面的数据模型

CodeCamp.Session = DS.Model.extend({
  id: DS.attr('number'),
  name: DS.attr('string'),
  speakers: DS.hasMany('CodeCamp.Speaker',{nested: true})                                                          
});

CodeCamp.Speaker = DS.Model.extend({
  id: DS.attr('number'),
  name: DS.attr('string'),
  session: DS.belongsTo('CodeCamp.Session',{nested: true})
});

我添加了“嵌套:真”部分,因为我想用烬数据来构建所需的

/会话/%@ /扬声器/

但是这并没有发生 -

我知道我可以手动定义一个网址

CodeCamp.Speaker.reopenClass({
  url: 'sessions/%@/speakers/'
});

但是在这样做的时候,我需要在基本REST适配器中使用我自己的“buildURL”方法,以便查找这样的格式并在必要时添加父ID(并且如果可能,我宁愿不这样做)

烬数据是否支持这种开箱即用的功能,还是我会被迫自己编写大量的代码?


{nested: true}还不是一个功能。 拉请求仍然打开。

覆盖并使用适配器的findQuery()使用这样的URL发出GET请求。

另外,如果你的服务器是Rails(也许这适用于其他框架),可以通过传递父ID作为查询字符串参数来保持请求URL单层:

/speakers?session_id=1
链接地址: http://www.djcxy.com/p/90947.html

上一篇: data really support nested urls?

下一篇: Can't capture images with flasher mode Torch