灰烬路线嵌套结构

时间:2013-02-26 03:26:54

标签: ember.js

我正在制作一个闪存卡应用,其中卡片组显示在左侧边栏中。单击主屏幕中显示的一组:

  1. 一个按钮栏
  2. 一张牌桌。
  3. 点击按钮栏中的“学习”按钮(链接),我想要一个学习面板来替换卡片表。

    我尝试了各种方法,例如在集合或集合下嵌套学习,但都不起作用。目前嵌套在set下,问题是:

    1. 无法获取用set set填充的study链接。也许b / c按钮栏部分不是插座?
    2. 您甚至可以点击链接ID(我尝试使用硬编码进行测试),但显示设置表而不是研究页面。
    3. 以下相关代码。 github上的完整代码,可在heroku上查看。

      感谢有关如何最好地设置它的帮助。

      路由

      App.Router.map ->
        @resource 'sets', ->
          @resource 'set', { path: ':set_id' }, ->
            @route 'study', { path: 'study' }, ->
      
      
      App.SetsRoute = Ember.Route.extend
        model: -> App.Set.find()
      
      App.SetRoute = Ember.Route.extend
        setupController: (controller, model) ->
          controller.set 'content', model
      
      App.SetStudyRoute = Ember.Route.extend
        model: ->  App.Set.find(params?.set_id)
        setupController: (controller, model) ->
          controller.set 'content', model
      

      sets.hbs

      <div id="sets" class="span2">
        <div class="well well-small sidebar-nav-fixed">
            {{partial "sets/set_list"}}
        </div>
      </div>
      
      <div class="span9">
        {{outlet}}
      </div>
      

      set.hbs

      {{partial "sets/set_actions"}}
      <h3>&nbsp;&nbsp;{{name}}&nbsp;(id: {{id}})</h3>
      {{render "cards/table" cards}}
      

      设置/ _set_action

      {{#linkTo set.study set class="btn btn-primary"}}Study!{{/linkTo}}
      <button class="btn btn-primary" {{action addCard}}>Add Card</button>
      <button class="btn btn-danger" {{action delete}}>Delete Set</button>
      

1 个答案:

答案 0 :(得分:0)

事实证明,set_actions中的学习链接必须引用控制器(指的是设置对象)。所以:

{{#linkTo sets.study controller class="btn btn-primary"}}Study!{{/linkTo}}.  

之后,只要路由等指定正确,似乎工作。将在git上更新完整的解决方案。