【问题标题】:Routing Links to parent routes in Ember JSEmber JS 中到父路由的路由链接
【发布时间】:2013-08-19 02:45:20
【问题描述】:

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

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 的链接,但我无法找到解决此问题的最佳方法。

我找不到将我的参数从我的 URL 绑定到 linkTo 帮助程序的方法。解决此问题的最佳方法是什么?

【问题讨论】:

    标签: ember.js routing


    【解决方案1】:

    瑞恩,

    我不是 100% 确定我理解您的问题,但 linkTo 使用起来非常简单。

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

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

    史蒂夫

    【讨论】:

    • 这似乎不起作用。那是将我发送到#/undefined 的路线我更新了帖子以显示我的路线。
    【解决方案2】:

    我认为这不是解决此问题的最佳方法,但我可以稍微调整一下路由器以使其更像这样:

    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 通配符中获取引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-28
      相关资源
      最近更新 更多