1

我正在做一个卡片应用程序,卡片集显示在左侧边栏中。在主面板中单击一组显示:

  1. 一个按钮栏
  2. 一张牌桌。

单击按钮栏中的学习按钮(链接)时,我想要一个学习面板来替换卡片表。

我已经尝试过各种方法来做到这一点,例如在集合或集合下嵌套研究,但都不起作用。目前嵌套在set下,问题是:

  1. 无法使用设置 ID 填充学习链接。也许部分不是插座中的b / c按钮栏?
  2. 您甚至可以在没有 id 的情况下单击链接(我尝试了一个硬编码的用于测试的链接),但显示的是设置表而不是学习页面。

相关代码如下。完整代码在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

集.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>

设置.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>
4

1 回答 1

0

原来 set_actions 中的学习链接必须引用控制器(指的是集合对象)。所以:

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

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

于 2013-02-26T23:58:14.803 回答