2015-03-19 3 views
0

В моем приложении я загружаю модель маршрута, как это:Ember перезагрузить разгружаются модели

@modelFor('stream').get('messages') 

Но есть много сообщений и при изменении потока Я хочу, чтобы выгрузить сообщения от предыдущего потока для повышения производительности:

@modelFor('stream').get('messages').toArray().forEach (r)=> 
    @store.unloadRecord(r) 

Проблема: когда я возвращаюсь к уже выгруженному потоку, я не получаю сообщений. Я пытался сделать @modelFor('stream').get('messages').reload(), но ничего не получаю ...

Может ли кто-нибудь сказать мне, как этого достичь?

ответ

0

Когда модель разгружена, все отношения также разгружаются. Это значит stream не знает о unloaded messages. Решение заключается в загрузке сообщения обратно с помощью запроса:

beforeModel: -> 
    @store.find 'message', stream_id: @modelFor('stream').get('id') 

Тогда

@modelFor('stream').get('messages') 

будет работать, как ожидалось.

Смежные вопросы