2015-06-09 2 views
1

Я хочу перезагрузить маршрут после .save() (в контроллере). В настоящее время данные ember изменяют статус в хранилище, но все, что я пробовал для перезагрузки маршрута, не работало. Проблема в том, что я хочу перезагрузить текущий маршрут на основе состояния разговора.Перезагрузка маршрута после .save()

Например, если у меня сейчас в status=opened и я закрою разговор, я хочу перезагрузить маршрут status=opened. Я заметил, что поскольку параметр статуса не изменяется, маршрут не перезагружается!

Я пробовал делать this.store.find('conversation', { status : currentStatus }), но он не работает.

Как я могу это сделать? Я могу редактировать для более подробной информации, если это необходимо.

У меня есть эта модель крюк:

model: function(params){ 

    return this.store.find('conversation', { status : params.status}); 

}, 

queryParams: { 

    status: { 
     refreshModel: true 
    } 
} 

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

this.store.find('conversation', conv.id).then(function(conversation){ 
       conversation.set('status', 'closed'); 
       conversation.save();    
}); 
+0

Может вы просто не называют "обновить()" на маршрутизаторе – Epirocks

+0

Из моего контроллера? Потому что я использую метод save. Какой правильный синтаксис для этого, если вы не возражаете? – greenymaster69

+0

Вы должны написать прямо, что вы сохраняете в контроллере. Это не очевидно. – artych

ответ

1

Do фильтр сервера и на стороне клиента, и тогда вам не нужно перезагружать маршрут, это будет намного дешевле.

model: function(params){ 
    return this.store.filter('conversation', { status : params.status}, function(rec){ 
     return rec.get('status') === params.status; 
    }); 
}, 

http://emberjs.com/api/data/classes/DS.Store.html#method_filter

+0

Дает мне ошибку: не удается вызвать get с ложным ключом – greenymaster69

+0

typo, должно быть: 'return (rec.get ('status') === params.status);' – artych

+0

ВЫ ПРОСТО СДЕЛАЛИ МОЮ ЖИЗНЬ. Спасибо, я действительно не думаю, что документы правильно объясняют эту ситуацию. – greenymaster69