У меня есть модели данных ember, подключенные к базе, персонажам и заклинаниям. Я могу создавать новые модели и сохранять их в firebase. Теперь я хотел добавить заклинания к персонажу. Я определил, что персонаж имеет много заклинаний:ember firebase pass models to action handler
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();
Я знаю, как передать строку из входов, но я не знаю, как передать выбранные заклинания этой функции, ее убивает меня.
вы видели Эм ber Power Select - http://www.ember-power-select.com/ – learningMachine