Для простого обзорного экрана у меня разработан маршрут, который устанавливает контроллер, который выполняет App.Location.find().Модель EmberJS не актуальна с базовым магазином
App.LocationsIndexRoute = Ember.Route.extend({
setupController: function(controller) {
controller.set('content', App.Location.find());
},
renderTemplate: function() {
this.render('locations.index',{into:'application'});
}
});
я наивно полагал, что это будет просто пойти в магазин и принести мне все записи, давая мне последнюю дату вид записи.
Видимо не ....
- Когда внешний процесс начинается удаление записей из базы данных, App.Location.find() продолжает возвращения этих удаленных записей. (хотя звонок REST больше не отображает их)
- Если внешний процесс начинает добавлять записи в базу данных, то App.Location.find() подбирает их.
- Если я удалю запись формы в самом приложении Ember, модель будет правильно обновлена.
Как я должен иметь дело с этим в своем приложении Ember? Я хотел бы иметь обновленное представление о том, что находится в моей базе данных. Сейчас мне нужно обновить страницу (F5), чтобы получить актуальное представление. Использование помощников linkTo показывает мне устаревшие данные.
Это, кажется, еще одна тривиальная вещь, которую я полностью пропустил в EmberJS. Это где-то упоминается в документах, почему оно ведет себя так? Я думаю, что за этим поведением существует верная философия.
Мои обзорные экраны просто заинтересованы в отображении самых современных данных. Если запись больше не находится в БД, модель больше не должна ее возвращать.
Я добавил sample project in Github, у которого возникли проблемы.
Вы столкнулись с подобной проблемой, это вопрос http://stackoverflow.com/questions/16268434/emberjs-crud-deletedrecord-keeps-re-appearing-after-linkto/16326087#16326087 связанный? – intuitivepixel
no ... в другом сообщении упоминается проблема с устаревшими данными, когда удаление было выполнено внутри самого приложения (deleteRecord, вызываемый в модели). Это было решено с помощью последних ember.js и ember-data.js. Описанная здесь проблема говорит об удалении записи из БД вне приложения EmberJS. – ddewaele