0

我遇到了 ember.js 的问题。使用以下路由设置,我无法让条目/新路由正常工作。索引工作正常,但条目/新模板只是拒绝呈现。我认为这是我试图在 renderTemplate 中渲染视图的地方,但我不确定我做错了什么。您的帮助将不胜感激。

Journal.Router.map ->
    @resource 'entries', {path: '/' }, ->
        @route 'new'
        return
    return

Journal.EntriesNewRoute = Ember.Route.extend
    renderTempalte: ->
        @render 'entriesNew', {
            into: 'application'
        }
    setupController: (controller) ->
        controller.set 'heading', 'new entry'
        return

Journal.EntriesNewView = Ember.View.extend
    className: ['entries-new']
    templateName: 'entries/new'

Journal.EntriesNewController = Ember.Controller.extend
    heading: "New Journal Entry"

    createEntry: ->
        title = @get 'newTitle'
        content = @get 'newContent'

        if !title.trim()  and !content.trim() then return null

        Journal.Entry.createRecord
            title: title
            content: content

        @get('store').commit()
        return

以及条目/新模板

{{ heading }}

{{view Ember.TextField id="entry-title" placeholder="Enter a title" valueBinding="newTitle"}}

{{view Ember.TextArea id="entry-content" placeholder="What do you have to say?" valueBinding="newContent"}}

<button {{action "createEntry"}} class="save">Save</button>
4

1 回答 1

2

在您的路线中,'into' 应该针对有您的 {{outlet}} 的路线

renderTempalate: ->
    @render 'entriesNew', {
        into: 'entries'
    }

虽然 renderTemplate 钩子的默认操作是渲染到它的资源出口,但只要您的 Entries 模板中有一个 {{outlet}} 并且您遵守严格的命名约定,您根本不需要定义该钩子。

If that's not the issue maybe post your Entries template

于 2013-04-08T01:25:51.623 回答