Closed ghost closed 9 years ago
👍
Между примером с models-list
и model
есть принципиальная разница. В случае models-list
модели еще нет и она создается с правильным id
. А для model
– модель сосздается во время создания родительской и потом апдейтиться. При этом метод update
не изменяет id
модели, так как это кажется небезопасно.
Возможно, в случае пустой модели, можно изименять id
, нужно только проверить, что все внутренние хранилища правильно на это отреагируют.
Понятно, а нельзя получается для случая
BEM.MODEL.create('dm-with-feed').set('feed', { feed_id: 456, name: 'feed 456' });
создавать в поле feed
новую модель, я просто ожидал именно поведения такого, не знал что там модель уже есть (видимо сорсы плохо смотрел)
То есть правильнее будет делать так
BEM.MODEL.create('dm-with-feed').set('feed', BEM.MODEL.create({ name: 'dm-feed', id: 456 }, { feed_id: 456, name: 'feed 456' }));
или учитывая Димины правки так
BEM.MODEL.create('dm-with-feed').set('feed', BEM.MODEL.create('dm-feed', { feed_id: 456, name: 'feed 456' }));
зная что поле feed_id
имеет тип 'id'
Кажется должна работать такая схема с пересозданием модели, код про сохранение подписчиков есть. Это немного опасное изменение, потому что мы не фильтруем данные при set'ах.
Синтетический пример:
То, что добавилось в
dm-with-feed
имеет сгенерированный id, а не тот что должен иметь.