2015-06-02 3 views
0

У меня есть модель, и я бы хотел использовать ее с двумя разными шаблонами на странице. Я не нашел ничего о том, как указать, какую модель использовать для шаблона (кроме имени).Использование той же модели для двух разных шаблонов

Например, я хотел бы отобразить все субующие из модели «подчиненные» в шаблоне с именем «assignationdd». Прямо сейчас у меня уже есть шаблон с именем «subusers», поэтому он автоматически связывает его с моделью, но могу ли я повторно использовать модель в другом шаблоне?

EDIT:

У меня есть несколько моделей Ressource а потому, что мне нужно как все разговоры и subusers в корне приложения. Я должен был это знать раньше. Таким образом, нет никаких изменений в URL-адресе или маршруте, я просто хочу отобразить мою модель в двух разных шаблонах. И да, я читал документы по ember-data (и это показывает очень мало и более простые примеры).

Маршрутизатор:

App.Router.map(function(){ 

//Routing list to raw namespace path 
this.resource('conversations', { path : '/' }, function() { 
    this.resource('conversation', { path : '/:conversation_id'}); 
}); 

}); 

Маршрут:

App.ConversationsRoute = Ember.Route.extend({ 

subusers: null, 
currentUser: null, 

model: function(params){ 

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

setupController: function(controller, model){ 

    this.controller.set('content', model); 

    if(!this.get('subusers')) 
    { 
     this.set('subusers', this.store.findAll('subuser')); 
    } 

    this.controllerFor('subusers').set('content', this.get('subusers')); 
}, 

queryParams: { 
    status: { 
     refreshModel: true 
    } 
} 
}); 

ответ

0

Если я вас правильно понимаю, модель назначается маршрут, а не шаблон. Вы можете использовать одну модель в нескольких маршрутах. Я предлагаю вам прочитать раздел, посвященный работе с Ember и Ember Data.

Прежде всего, не гнездо resource s. Ресурс должен быть только существительным, а маршрут должен быть глаголом. Таким образом, ваш маршрутизатор должен быть таким:

//Routing list to raw namespace path 
this.resource('conversations', { path : '/' }, function() { 
    this.route('view', { path : '/:conversation_id'}); 
}); 

Во-вторых, попробуйте это несколько моделей:

model: function (params) { 
    return Ember.RSVP.hash({ 
     conversation: this.store.find('conversation', { status: params.status}), 
     subusers: this.store.findAll('subuser') 
    }); 
} 
+0

Я добавил некоторые уточнения, если это может помочь вам понять мою проблему. Я прочитал начальную секцию около 1000 раз, но я интегрирую ember в огромное приложение, поэтому я не могу использовать примеры, которые они дают, потому что они начинаются с 0 и не применяются к моей ситуации. – greenymaster69

+0

Я думаю, вы имеете в виду, что вам нужно использовать несколько моделей в одном шаблоне, не так ли? – Louy

+0

Нет, на самом деле мне нужно использовать его для двух «подчиненных» шаблонов и «assignationdd». – greenymaster69

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