我正在制作一个闪存卡应用,其中卡片组显示在左侧边栏中。单击主屏幕中显示的一组:
点击按钮栏中的“学习”按钮(链接),我想要一个学习面板来替换卡片表。
我尝试了各种方法,例如在集合或集合下嵌套学习,但都不起作用。目前嵌套在set下,问题是:
以下相关代码。 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> {{name}} (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>
答案 0 :(得分:0)
事实证明,set_actions中的学习链接必须引用控制器(指的是设置对象)。所以:
{{#linkTo sets.study controller class="btn btn-primary"}}Study!{{/linkTo}}.
之后,只要路由等指定正确,似乎工作。将在git上更新完整的解决方案。