路由链接到Ember JS中的父路由

时间:2013-08-19 02:45:21

标签: ember.js routing

在我的应用程序中,我有以下路径设置

Orders.Router.map ->
  @resource "orders", path: '/', ->
    @route 'new'
    @route 'show', path: ':order_id'
    @resource 'items', path: ':order_id/items', ->
        @route 'new'

class Orders.ItemsNewRoute extends Ember.Route
  model: (params) ->
    Orders.Order.find params.order_id

在我的items.new路线中,我希望有一个返回orders.show的链接,我无法找到解决此问题的最佳方法。

我找不到将我的参数从我的网址绑定到linkTo帮助器的方法。什么是最好的方法呢?

2 个答案:

答案 0 :(得分:0)

瑞恩

我不是百分百肯定我明白你的问题是什么,但是linkTo非常简单易用。

{{#linkTo "orders.show" controller.content}}Show My Order{{/linkTo}}

以上代码会将您发送到orders.show路线,其中模型是您控制器的内容。

史蒂夫

答案 1 :(得分:0)

我认为这不是解决这个问题的最好方法,但我能够把路由器搞得一团糟,让它更像这样:

Orders.Router.map ->
  @resource "orders", path: '/', ->
    @route 'new'
    @route 'show', path: ':order_id'
    @resource 'items', path: ':order_id/items/new'

class Orders.OrdersRoute extends Ember.Route
  model: ->
    return Orders.Order.find()

class Orders.OrdersIndexRoute extends Ember.Route
  model: ->
    return Orders.Order.find()

class Orders.ItemsRoute extends Ember.Route
  model: (params)->
    return Orders.Item.createRecord
      order: Orders.Order.find params.order_id

然后在我的模板中,我引用{{#linkTo 'orders.show' order}}

似乎无法从原始:order_id通配符中获取引用。