对于我的资源之一,我有一个嵌套的编辑路由:
@resource 'organization', path: 'organizations/:organization_id', ->
@resource 'organization.edit', path: '/edit'我像这样链接到它(使用Emblem.js):
linkTo 'organization.edit' organization | Edit不幸的是,这样做的结果是:
/organizations/4#而不是预期的:
/organizations/4/edit知道为什么会这样吗?我对路由语法做了很多实验。删除path对organization.edit没有任何作用,完整的path: 'organization/:organization_id/edit也一样。
发布于 2013-10-10 17:54:38
通过使用这种嵌套结构,您应该能够获得所需的结果:
App.Router.map(function() {
this.resource("organizations", function(){
this.resource("organization", { path: "/:organization_id" }, function(){
this.route("edit");
});
});
});JSBin实例
发布于 2013-10-10 16:59:02
您正处于正确的轨道上,但是@resource实际上是针对对象的,例如组织。如果要定义一个操作(而不是嵌套资源),则需要使用@route,即:
@resource 'organization', path: 'organizations/:organization_id', ->
@route 'edit'我相信这会给你预期的行为/路线。
发布于 2014-03-15 16:31:41
为什么不用这样的方法:
@resource 'organization', ->
@route "edit",
path: "/:organization_id/edit"https://stackoverflow.com/questions/19301299
复制相似问题