Я пытаюсь использовать данные ember, используя https://github.com/emberjs/data в качестве ссылки.
В частности, я пытаюсь использовать контроллер массива для отображения всех объектов 'Person' в моей базе данных.,Я также хочу разрешить пользователю создавать новое «Персона».
У меня есть следующий код, который работает:
App.peopleController = Em.ArrayController.create
content: App.store.findAll(App.Person)
newPerson: (name) ->
App.store.create App.Person,
name: name
@set('content', App.store.findAll(App.Annotation))
Однако кажется, что каждый раз сбрасывать свойство содержимого неэффективноновый человек создан.Если я удаляю последнюю строку и изменяю код на следующий:
App.peopleController = Em.ArrayController.create
content: App.store.findAll(App.Person)
newPerson: (name) ->
App.store.create App.Person,
name: name
Новое представление все еще создается при каждом вызове newPerson, но тот же объект дублируется.По сути, все новые шаблоны используют первый созданный объект вместо нового каждый раз.Я думаю, что это связано со следующей ошибкой: https://github.com/emberjs/data/issues/11.
Для справки, моя логика шаблона выглядит следующим образом:
{{#each App.peopleController}}
{{#view App.PersonView contentBinding="this"}}
{{#with content}}
Client id is {{clientId}}
{{/with}}
{{/view}}
{{/each}}
Когда я использую вторую версию моего кода -один со строкой @set('content', App.store.findAll(App.Annotation))
- clientId дублируется для каждого объекта Person.В первой версии идентификаторы клиента верны.
Кто-нибудь может пролить немного света здесь?Я делаю это правильно?Мои инстинкты говорят мне, что это ошибка, но я не уверен.