Я использую Ember.js и Ember-Data. Пользователи могут создавать и обновлять ресурсы, например, модель Organization
. По большей части система работает должным образом. Исключением является то, что пользователь частично заполняет форму, а затем оставляет страницу без нажатия кнопки «Отправить». Частично созданный ресурс будет сохраняться на стороне клиента. (Он никогда не отправляется на сервер и так никогда не существует в базе данных Если пользователь перезагружает страницу, эти частично созданные ресурсы исчезают.).Сохранять данные только после отправки в Ember.js
Мои маршруты довольно стандартны:
Whistlr.OrganizationsNewRoute = Ember.Route.extend
model: ->
@store.createRecord('organization')
setupController: (controller, model) ->
controller.set('content', model)
Whistlr.OrganizationEditRoute = Ember.Route.extend
model: (params) ->
@store.find('organization', params.organization_id)
setupController: (controller, model) ->
controller.set('content', @modelFor('organization'))
Возможно поведение я «Как описано, также стандартно? Если да, есть ли способ предотвратить это?
Красивая. Деактивировать и откат выглядят как правильный путь, но приложение зависает, когда я пытаюсь выйти из формы. Как ни странно, никаких сообщений об ошибках не возникает, даже когда я намеренно помещаю код ошибки с 'deactivate'. Если я помещаю 'alert (« Pre »)' before' this.currentModel.rollback(); ', появляется предупреждение. Если я поместил его позже, я не получу предупреждения - и никаких сообщений об ошибке. Это отлаживает боль. С первого взгляда вы можете увидеть что-то неправильное 'this.currentModel.rollback();'. Я использую Ember-Data 1.0.0beta2, который мог бы изменить синтаксис где-то. Я уточню, если найду ответ. – nullnullnull
Отладка в консоли Chrome вызвала у меня эту ошибку: 'TypeError: Object [object Object] не имеет метода 'rollback''. – nullnullnull
Странно, что возвращается из 'this.currentModel.constructor'? Попытайтесь использовать 'this.get ('controller.content'). Rollback()' как обходной путь, возможно, работать ... –