如何在Emberjs中从嵌套路径转换为索引路径

时间:2014-08-05 04:48:22

标签: ruby-on-rails ember.js

我的路线

NoteApp.Router.reopen
    location: 'history'
    rootURL: '/'

NoteApp.Router.map ->
   @resource 'notes', path: "/", ->
       @route 'new', path: "/new"

NoteApp.NotesRoute = Ember.Route.extend
    model: ()->
        return @store.find('note')

NoteApp.NotesNewRoute = Ember.Route.extend
    renderTemplate: (controller, model) ->
        @render 'notes/new', into: "application"

我的NotesNewController是:

NoteApp.NotesNewController = Ember.ObjectController.extend
    actions:
        createNote: ->
            title = @get('newTitle')
            note = @store.createRecord('note',
                title: title
            )

            note.save()
            @set('newTitle', '')
            @transitionToRoute('notes')

第一个问题:导航到/新路线后我无法使用浏览器后退按钮

第二个问题@transitionToRoute('notes')无效。只需渲染空白页。

1 个答案:

答案 0 :(得分:1)

手动渲染到应用程序插座时,您将覆盖备注模板。这就是你所有问题的来源。

如果您希望网址/notes显示某些内容,那么当您/notes/new时,您就应该看不到该内容,而应将其添加到notes/index模板中。

简而言之,我建议这些事情。

对此进行评论

NoteApp.NotesNewRoute = Ember.Route.extend
    //renderTemplate: (controller, model) ->
        //@render 'notes/new', into: "application"

将备注模板移至备注/索引

确保您的备注模板中包含{{outlet}}