Ember.js:param值未在嵌套路由中设置

时间:2017-01-30 15:08:49

标签: git ember.js

我目前正在尝试将遗留余烬(由Rob Connery在复数视频中制作)的项目重构为ember-cli项目。 我收到以下错误:此链接处于非活动加载状态,因为其中至少有一个参数当前具有空值/未定义值,或者提供的路由名称无效。我认为它是param“repoName”未传递或设置 我有以下路线:

Router.map(function() {
  this.route("user", { path: "/users/:login" }, function() {
    this.route('repositories');
    this.route('repository', { path: "repositories/:repoName" } ); 
  });

父路线“user”:

return Ember.$.getJSON("https://api.github.com/users/" + params.login);

两个嵌套路由“user.repositories”和“user.repositry”:

model: function (params) {
    return Ember.$.getJSON(this.modelFor('user').repos_url);
  }

model: function (params) {
    var user = this.modelFor("user");
    var url = "https://api.github.com/repos/" + user.login + "/" + params.reponame;
    return Ember.$.getJSON(url);
  }

因此,当我尝试链接到模板中的特定存储库时:

<h4>{{#link-to 'user.repository' repo.repoName}}{{repo.name}}{{/link-to}}</h4>

然后没有任何反应。我想用当前用户调用存储库路由。

我很贪图,如果约定不准确,请原谅我。

整个项目是关于从您选择的开发人员那里获取git存储库,查看他们的存储库以及最终的提交,分支和问题。 如果你想看到整个项目和/或贡献,你可以在这里找到它:

https://github.com/jeverdrengen/git-client-api

1 个答案:

答案 0 :(得分:0)

存储库路径为:/users/:login/repositories/:repoName

因此,您应该为链接提供两个参数:

<h4>{{#link-to 'user.repository' login repo.repoName}}{{repo.name}}{{/link-to}}</h4>