У вас нет для использования Ember.Object
.Если вы никогда не захотите делать какие-либо привязки, иметь рассчитанные свойства или наблюдать какие-либо изменения свойств, в этом нет необходимости.
Однако, если вы действительно хотите сделать что-то из этого, вы измените свой код следующим образом:
Документирование ожидаемых полей в модели.
// Model
App.Query = Ember.Object.extend({
firstName: null, // just to indicate what props you're expecting
lastName: null
});
Создание объекта модели вместо анонимного объекта.
submitQuery: function () {
App.queries.pushObject(App.Query.create({ // .create() here
firstName: this.get('name'),
message: this.get('message')
});
App.queries.save();
}
А теперь для большого недостатка,JSON.stringify()
будет сериализовать внутренние вещи, которые вам не нужны.Таким образом, каждый объект, отправляемый по проводу, должен быть сначала упрощен до свойств, которые вы хотите.Помощь в этом можно найти здесь: Отражение на объектах EmberJS?Как найти список ключей свойств, не зная заранее ключей
save: function () {
var obj = buildSimpleObject(this); // implements this somehow
$.post('api/query', JSON.stringify(obj.toArray()), function (data) {
// Queries saved
});
}