Sails.js使用该路由过滤记录

时间:2014-08-01 20:52:58

标签: javascript node.js sails.js

我是Sails.js的新手,我正在努力了解它的魔力。

我有三个使用关联的嵌套模型:Series.js - > Season.js - >和Episode.js。

Series.js

module.exports = {

  attributes: {

    /* other attributes */

    seasons: {
      collection: 'season',
      via: 'series'
    }

  } 
};

Season.js

module.exports = {

  attributes: {

    /* other attributes */

    episodes: {
      collection: 'episode',
      via: 'season'
    },
    series: {
      model: 'series'
    }

  } 
};

Episode.js

module.exports = {

  attributes: {

    /* other attributes */

    season: {
      model: 'season'
    }

  } 
};

开箱即用,我可以使用这条路线获得一系列的季节:

  

/系列/:ID /季节

还有使用这条路线的季节剧集:

  

/季节/:ID /集

我不明白为什么我无法使用这条路线获得一系列剧集的剧集:

  

系列/:ID /季节/:ID /集

知道为什么会这样吗?我知道我可以使用自定义路由来获得我想要的行为,但能够在没有任何进一步配置的情况下完成它会很好。

我知道Sails.js只允许一个级别的人口,但这似乎不是问题,因为我设置了populate: false

1 个答案:

答案 0 :(得分:1)

Sails没有自动提供此路线:

series/:id/seasons/:id/episodes

因为如果你仔细想想它并没有多大意义。如果你已经知道了赛季的ID,那么它所属的系列就无关紧要了。只需使用:

seasons/:id/episodes

获取你想要的剧集。