概念主干嵌套集合

时间:2016-07-28 16:13:56

标签: backbone.js backbone-collections backbone-model

我在Node和Express上使用骨干网。我有我的restful api设置来返回我的模型和收集数据。 api工作得很好。但是我无法将路线绑定到我的一条api路径。

我有一个公司模型和集合,所以当你去路线时,你会获得该路线的宁静api数据:

http://localhost:3000/employees您获得了restful api路径api/employees的数据 http://localhost:3000/employees/1您获得了restful api路径api/employees/1

的数据

我也有一个类别模型和集合来做同样的事情:

http://localhost:3000/categories您获得了restful api路径api/categories

的数据

但以下不起作用: http://localhost:3000/categories/Auto你没有得到restful api路径的数据api/cateogries/Auto restful api可以工作并返回正确的数据,但是我在我的应用程序中获得的集合返回与调用的类别集合相同的数据。路径api/cateogries。几乎像路径被忽略了。

通常,您有一个集合,然后提供id属性以获取属于该集合的模型。但是如果你想要一个id属性返回另一个集合的集合呢?例如,您获得了一个类别列表,然后当您选择一个类别时,您会获得该类别中所有公司的列表?在骨干网中做到这一点的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

感谢。我实际上已经明白了。我正在返回一个集合,需要调整我的集合的url,将它指向我宁静的api中的正确路径。所以在我的集合中,我添加了一个url函数,如果将参数传递给构造函数,该函数会转到不同的路径:

url:function(){
        if(this.category1){
            return "api/categories/"+this.category1;
        }
        return "api/categories";
      },

    initialize:function(opts){
        this.category1=opts && opts.category1;
    }