如何设计路由器,以便URL可以加载多个模型?

时间:2013-12-26 03:24:41

标签: ember.js

我事先道歉,我不确切地知道如何说出这个问题。

我想关注Tom Dale的建议*并停止破坏网络。在我的例子中,我正在构建一个看起来像Tweetdeck的东西 - 一个可以打开任意数量的列的应用程序。我的问题是,我看一下dynamic segments的Ember文档,我无法弄清楚如何从单个模型到多个同时模型的概念上的飞跃。

而不是:

http://localhost/columns/1

我想说的是:

http://localhost/columns/1,34,54

数字对应于模型的任意可变长度列表

要清楚,我认为我不会询问嵌套资源(例如:year/:month/:day)。我也不认为我在询问query parameters,我明白它更适合控制器上的一次性属性。

我不知道是否有一个我正在寻找的术语,这让我想知道我是否以错误的方式处理这个问题。另一方面,我可以想到其他一些类比:打开多个同时发送的电子邮件,区分两个或多个文档,操作多个播放列表等。我不知道如何继续。

* www.youtube.com /手表?V = OSEXpsVcTxI

1 个答案:

答案 0 :(得分:1)

一般来说,动态段塞指的是单个对象,但是没有约束,你只需要覆盖一些东西(这是常见的)并且必须手动进行一些转换(这将是一个更多的工作设置链接到语句)

App.Router.map(function() {
  this.route('cow', {path:':ids'});
});

App.CowRoute = Ember.Route.extend({
  model: function(params) {
    return [
      {id:3, color:'green3'},
      {id:5, color:'green5'},
      {id:7, color:'green7'}
    ];
  },
  serialize: function(model){
      return {ids: model.getEach('id')}; 
  }
});

http://emberjs.jsbin.com/aHOrowec/1