我正在为我的余烬应用添加评论。当我提交评论时,我想将当前模型的对象id作为外键添加到评论对象。
我的HTML:
<div id="respond">
<h3>Leave a Comment</h3>
<form {{action leaveComment on="submit"}} class="form-inline">
<h5>Your Name:</h5>
{{input type="text" value=myname}}<br>
<h5>Your Email:</h5>
{{input type="text" value=myemail}}<br>
<h5>Comment:</h5>
{{textarea class="form-control" rows="3" type="text" value=mycomment}}<br>
<h5>Tool Id:</h5>
{{input type="text" value=id}}<br>
<button type="submit" class="btn btn-primary button-form">Save</button>
</form>
</div>
当我使用此代码时,在网站上我的最后一个输入框包含活动模型的ID(这就是我想要的),但是当我发布它时,它会留空。它是唯一不起作用的领域。
这是我的js:
App.ViewController = Ember.Controller.extend({
name: null,
email: null,
comment: null,
toolid: null,
leaveComment: function() {
var comment = App.Comment.createRecord({
name: this.get('myname'),
email: this.get('myemail'),
comment: this.get('mycomment'),
toolid: this.get('id')
});
comment.save().then(function() {
this.transitionToRoute('view');
this.set('myname', '');
this.set('myemail', '');
this.set('mycomment', '');
this.set('id', '');
}.bind(this));
}
});
编辑:模型添加请求
App.Tool = DS.Model.extend({
expertise: DS.attr('string'),
name: DS.attr('string'),
link: DS.attr('string'),
description: DS.attr('string'),
rating: DS.attr('string')
});
App.Comment = DS.Model.extend({
name: DS.attr('string'),
email: DS.attr('string'),
comment: DS.attr('string'),
toolid: DS.attr('string')
});
答案 0 :(得分:0)
你有两个选择。没有看到你的路线就很难说。
1:如果模型与此控制器相关联,请尝试this.get(&#39; model&#39;)。get(&#39; id&#39;);
2:通过父控制器访问模型,即
App.CommentController = Ember.Controller.extend({
needs: ['tool']
});
然后您可以通过this.get(&#39; controllers.tool&#39;)获取工具ID。获取(&#39;型号&#39;)。
请注意,这取决于您嵌套的路由。