Ember.js 链接到特定对象id

Ember.js 链接到特定对象id,ember.js,Ember.js,我有一个用户列表和两个视图:一个表视图列出所有可用用户,一个详细视图查看特定用户的详细信息。现在,我想在我的导航菜单中提供一个指向一个特殊用户(“我”用户)的链接。我试过: {{#linkTo "user/me"}}Me{{/linkTo}} 恩伯说: Assertion failed: The attempt to linkTo route 'user/me' failed. The router did not find 'user/me' in its possible routes:

我有一个用户列表和两个视图:一个表视图列出所有可用用户,一个详细视图查看特定用户的详细信息。现在,我想在我的导航菜单中提供一个指向一个特殊用户(“我”用户)的链接。我试过:

{{#linkTo "user/me"}}Me{{/linkTo}}
恩伯说:

Assertion failed: The attempt to linkTo route 'user/me' failed. The router did not find 'user/me' in its possible routes: 'users', 'user', 'index'
我也尝试过:

{{#linkTo "user" "me"}}Me{{/linkTo}}
但是ember正在链接到
#/user/undefined
,我想要
#/user/me

如何链接到特定的用户id


我有一个jsfiddle来展示我正在尝试做什么。

您需要添加一个
UserRoute
,以这种方式对模型进行序列化

App.UserRoute = Ember.Route.extend({
    serialize: function(model) {
        return {user_id:model};
    }
});
我刚才在这里使用了
model
,您可以使用模型的一些属性,通常是
id

使用
linkTo
的方法是为其指定资源名称,独立于嵌套,并限定动态段

例如,post/1/comment/1。您的
链接将是

链接到评论文章的“评论”

其中
Post
Comment
是模板可访问的绑定/变量,对应于Post-1和Comment-1

这是工作表

编辑:您需要在
setupController

setupController: function(controller, model) {
    App.User.find(model).then(function(result) {
      controller.set('model', result);  
    });
}
更新


更新2将setupController添加到(直观像素)

我创建了一个手动链接,没有使用
linkTo
,这正是我想要的。这是最新的。使用这种方法,不需要乱弄
路由
,原始链接也不会断开

我的导航栏中的代码现在是:

<nav>
  {{#linkTo "users"}}Users{{/linkTo}}
  {{#linkTo "user" "me"}}Me (bad!){{/linkTo}}
  <a class="ember-view" href="#/user/me">Me (good!)</a>
</nav>

{{{#链接到“用户”}用户{{/linkTo}}
{{{#链接到“用户”“我”}我(坏!){{/linkTo}
这是生成的html:

<nav>
  <a id="ember250" class="ember-view" href="#/users">Users</a>
  <a id="ember253" class="ember-view" href="#/user/undefined">Me (bad!)</a>
  <a class="ember-view" href="#/user/me">Me (good!)</a>
</nav>

这种方法的缺点是:

  • 我必须使用
    html
    手动定义链接,这在
    linkTo
    的集合中似乎很尴尬。也许我应该为此创建一个
    linkToId
    handlebar助手
  • 我必须手动跟踪路线:如果路线发生变化,我需要手动更新
    href
    。也许这可以通过访问路由器配置在
    linkToId
    助手中处理
  • 生成的链接没有
    ember id
    ,我看不到解决方案。不知道这会有什么副作用

谢谢。JSFIDLE中的链接按预期生成(
#/user/me
),但视图根本不显示数据。我在更新的JSFIDLE中没有看到setupController。出了什么问题?@gonvaled看到更新的答案,我添加了工作小提琴谢谢@inuitivepixel。但仍然存在一个问题:如果查看用户表中的链接,您会看到如下内容:
../show/#/user/
,但它应该是
../show/#/user/user1953
。这是一个关于余烬的东西,真的让我很恼火:你调整了应用程序的一小部分,突然整个东西都坏了。我的意思是:我只是想链接到一个特定的用户id,现在我必须对代码库进行完整的重构(