我有与 firebase、字符和咒语挂钩的 ember 数据模型。我可以创建新模型并将它们保存到 firebase。现在我想为角色添加咒语。我定义这个角色有很多咒语:
export default DS.Model.extend({
chClass: DS.attr(),
chName: DS.attr(),
chImage: DS.attr(),
chSpells: DS.hasMany('spell', {async: true}),
});
在我的 hbs 中,我列出了<select>
元素中的咒语,还有输入字段和添加按钮。
Add new character <br>
name {{input value=mchName }}<br>
class {{input value=mchClass }}<br>
image {{input value=mchImage }}<br>
<br>
Choose Spells:<br>
<select name="spellslist" multiple>
{{#each spells as |spell index|}}
<option value="{{index}}">{{spell.spName}}</option>
{{/each}}
</select>
<button {{action 'addChar' spells}}>add</button><br>
因此,当用户输入角色名称、级别并选择一些咒语时,我想在添加按钮上调用 addChar 操作函数并传递此数据。
export default Ember.Controller.extend({
mchName:'',
mchClass:'',
mchImage:'',
store: Ember.inject.service(),
actions: {
addChar: function(spells) {
var newChar = this.store.createRecord('character');
newChar.set("chName", this.mchName);
newChar.set("chClass", this.mchClass);
newChar.set("chImage", this.mchImage);
newChar.get("chSpells").addObject(?????? how to get spell here ?????);
newChar.save();
我知道如何从输入中传递字符串,但我不知道如何将选定的法术传递给这个函数,这让我很生气。