Ember.js 在控制台中,我看到创建了记录,但它们不是通过手柄显示的
首先感谢迈克·格拉索蒂在IRC的帮助。他用save方法帮助解决了错误 我的问题是,在控制台中,我看到创建了记录,但没有显示它们 我正在使用余烬数据创建新记录。addComment函数在事务中创建记录,而保存函数只调用this.transaction.commit 在控制台中单击save()后,记录似乎已创建,但Handlebar不显示新创建的记录。这是我在深入研究console.log的结果时在控制台中看到的内容的摘录Ember.js 在控制台中,我看到创建了记录,但它们不是通过手柄显示的,ember.js,handlebars.js,ember-data,Ember.js,Handlebars.js,Ember Data,首先感谢迈克·格拉索蒂在IRC的帮助。他用save方法帮助解决了错误 我的问题是,在控制台中,我看到创建了记录,但没有显示它们 我正在使用余烬数据创建新记录。addComment函数在事务中创建记录,而保存函数只调用this.transaction.commit 在控制台中单击save()后,记录似乎已创建,但Handlebar不显示新创建的记录。这是我在深入研究console.log的结果时在控制台中看到的内容的摘录 >committed: Object firstRecord
>committed: Object
firstRecordKind: "belongsTo"
firstRecordName: "post"
>firstRecordReference: Object
clientId: 4
id: "ember411"
>type: EmBlog.Comment
ClassMixin: Ember.Mixin
>FIXTURES: Array[1]
0: Object
body: "ty"
id: "ember411"
post: "1"
要创建新记录,请单击底部的“添加注释”->“发布”->,然后单击“发布标题”->,然后单击“保存”,您将看到该记录未被创建
来自的相关代码位。此控制器将没有路由,因为它将被侧向加载
EmBlog.CommentNewController = Em.ObjectController.extend({
needs: ['postsShow'],
isAddingNew: false,
addComment: function(body){
console.log("this: ", this.toString());
var post = this.get('controllers.postsShow.content');
console.log(post);
transaction = this.get('store').transaction();
console.log(transaction);
console.log(this.get('content').toString());
this.set('content', transaction.createRecord(EmBlog.Comment, ({post: post })));
this.transaction = transaction;
console.log(this.get('content').toString());
this.set('isAddingNew', true);
},
save: function(){
var comment = this.get('content');
comment.one('didCreate', this, function() {
this.set('isAddingNew', false);
});
this.transaction.commit();
}
});
把手模板中的相关位
<script type="text/x-handlebars" data-template-name="posts/show">
<h1>Post</h1>
<h3> {{title}} </h3>
<h3> {{body}} </h3>
<br/>
<p> {{#linkTo 'posts.index'}} back {{/linkTo}}</p>
<p> {{#linkTo 'posts.edit' content}} Edit the post {{/linkTo}}</p>
<br/>
<b> Comments</b>
{{render 'comment/new' comments}}
</script>
<script type='text/x-handlebars' data-template-name='comment/new'>
{{#if controller.isAddingNew}}
<form {{action save on='submit'}}>
{{view Ember.TextArea valueBinding="body" placeholder="body"}}
<button type="submit"> save comment </button>
</form>
{{/if}}
<br/>
<div>
<button {{action addComment}} {{bindAttr disabled="isAddingNew"}}>Add Comment</button>
</div>
</script>
邮递
{{title}}
{{body}}
{{{#linkTo'posts.index'}}返回{{/linkTo}
{{{#linkTo'posts.edit'content}}编辑post{{/linkTo}
评论
{{render'comment/new'comments}}
{{{#if controller.isAddingNew}
{{view Ember.TextArea valueBinding=“body”placeholder=“body”}
保存评论
{{/if}
添加注释
谢谢嗯,也许我是盲人,但我看不到任何在模板中显示注释的代码 差不多
<ul>
{{#each comment in comments}}
<li>{{comment.body}}</li>
{{/each}}
</ul>
{{{#注释中的每个注释}
- {{comment.body}
{{/每个}}
也许应该这样做。谢谢,你说得对。我跳过了。现在正在展示。对于任何感兴趣的人,这是