Ember.js 通过RESTAPI提交表单
我是新的余烬,我正试图通过提交表格来创建一个记录。这是我迄今为止编写的代码:Ember.js 通过RESTAPI提交表单,ember.js,Ember.js,我是新的余烬,我正试图通过提交表格来创建一个记录。这是我迄今为止编写的代码: App.CharactersNewRoute = Ember.Route.extend({ model: function() { return this.store.createRecord('character', {name: '', race: ''}); } }); <form {{action "createCharacter" on="submit"}}>
App.CharactersNewRoute = Ember.Route.extend({
model: function() {
return this.store.createRecord('character', {name: '', race: ''});
}
});
<form {{action "createCharacter" on="submit"}}>
<div class="form-group">
<label>Name</label>
{{input value=characterName class="form-control"}}
</div>
<div class="form-group">
<label>Race</label>
{{input id=characterRace class="form-control"}}
</div>
{{#link-to 'characters'}}<button class="btn btn-default">Back</button>{{/link-to}}
<button class="btn btn-default" type="submit">Create</button>
</form>
App.CharactersNewController = Ember.ObjectController.extend({
actions: {
createCharacter: function() {
var name = this.get('characterName'),
race = this.get('characterRace');
if (!name || !race) { return false }
// create new character
var character = this.store.createRecord('character', {
name: name,
race: race
});
this.set('characterName', '');
this.set('characterRace', '');
character.save();
}
}
})
App.CharactersNewRoute=Ember.Route.extend({
模型:函数(){
返回此.store.createRecord('character',{name:'',race:'});
}
});
名称
{{input value=characterName class=“表单控制”}
比赛
{{input id=characterRace class=“form control”}
{{{#链接到“字符”}返回{{/链接到}
创造
App.CharactersNewController=Ember.ObjectController.extend({
行动:{
createCharacter:function(){
var name=this.get('characterName'),
race=this.get('characterRace');
如果(!name | |!race){return false}
//创造新角色
var character=this.store.createRecord('character'{
姓名:姓名,,
种族:种族
});
此.set('characterName','');
此.set('characterRace','');
save()字符;
}
}
})
现在,代码在控制器中的var character=this.store.createRecord
行停止,但控制台中没有出现错误
谢谢您正在路线中创建记录,因此无需在控制器中创建第二条记录。您可以将路由留空或在控制器中使用:
this.get('model').set('name',characterName)
。除此之外我不知道。您是否创建了用户模型?定义一个商店?还有两件事。Ember data是一个很好的扩展,您可以通过浏览器获得它来帮助调试,Ember.Logger.log(您曾经希望将它记录到控制台中)
是一个很好的控制台调试命令。嘿@Tarlen,您得到问题的答案了吗,如果是,请在这里回答。它也会帮助其他人。像我一样:)!