我在哪里设置评论对象?

时间:2014-05-16 01:32:27

标签: ember.js

我有一个包含此内容的模板templates/post.hbs

<h2>{{title}}</h2>
<div>
  {{#link-to 'post.edit' this}}Edit{{/link-to}}
  <a {{action 'destroy'}}>Destroy</a>
</div>
{{text}}


{{ render 'comments/new' }}

<h3>Comments</h3> 

{{#each comments}}
  <strong>{{author}}</strong>
  {{text}}
{{/each}}

底部附近的comments/new表格有这样的内容:

<h3>Leave a comment</h3>
<form>
  <p class='input-group'>
    <label for='text'>Text</label><br>
    {{textarea value=text class="form-control" rows="10" cols="50"}}
  </p>
  <input type='button' value='Add Comment' class='btn btn-primary' {{action 'save' this}}>
</form>

在何处以及如何设置要在此表单中使用的Blorgh.Comment对象?它会进入PostRoute还是CommentsNewController?如果是这样,语法是什么?

1 个答案:

答案 0 :(得分:2)

有几种方法可以实现这一目标,但我建议使用以下方法之一:

  1. 使用CommentsNewController&#39; init方法设置模型。它看起来像这样:

    App.CommentsNewController = ObjectController.extend({
      init: function() {
        this.set('model', App.Comment.create());
      }
    });
    
  2. 将新评论绑定到PostRoute中的控制器属性,然后将其传递给渲染助手,如下所示:

    {{render 'comments/new' comment_object }}
    
  3. 您甚至可以使用插座,并在PostRoute#setupController中完成所有操作。