2014-09-08 4 views
1

У меня есть шаблон с именем new, в котором есть некоторые входные помощники для отправки нового запроса (темы и тела). После них у меня есть именованные теги, которые должны отображать список возможных сервисов, которые мы можем добавить в запрос (теги: исправить, купить и т. Д.).Ember - указать контроллер для именованной розетки

Проблема заключается в том, что при перемещении к новому отображаются только статические данные из шаблона тегов (будет отображаться шаблон «внутри тегов»), но #each не работает вообще.

Если я добавляю теги в качестве нового ресурса в новое и перехожу к новым/тэгам, то шаблон тегов будет отображаться в обеих точках нового шаблона ({{outlet}} и {{outlet tags}}, поэтому мой код не ошибочен, когда дело доходит до отображения данных, его просто ошибка, когда он появляется, когда он отображается, где и когда я хочу (только внутри нового маршрута).

Кроме того, обе модели моих маршрутов имеют консоль .log сообщение о том, какой маршрут доступен, и когда я перехожу к новому, только новый маршрут отображает сообщение.

Я считаю, что новое не знает, что предполагается использовать контроллер тэгов, но я не знаю, когда это произойдет к Ember ... (Я не хочу получать теги по новому маршруту, я хочу использовать маршрут тега)

export default Ember.Route.extend({ 
model: function(){ 
    console.log("in new"); 
}, 
setupController : function(controller, model){ 
    controller.set("model", model); 
}, 

renderTemplate: function() { 
    this.render(); 
    this.render('tags', { 
     outlet: 'tagO', 
     into: "new", 
     controller: 'tags' 
    }); 

} 

});

+0

Пример в кода перед последним блоком кода в [этом руководстве] (http://emberjs.com/guides/routing/rendering-a-template/) использует 'controllerFor' для получения ссылки на контроллер. Вы пробовали это? Также, на всякий случай, попробуйте также 'запросы/теги', если ваш контроллер находится во вложенных папках. – MilkyWayJoe

+0

Оба файла находятся в одной папке, и я уже попробовал controllerFor ... –

+0

Я думаю, что вы передаете неправильный параметр 'in'. Вы передаете тот же шаблон, который вы пытаетесь вставить в ... Я * думаю * это должно быть имя шаблона, где определен флажок «tagO», который, как я подозреваю, будет «запросом»? – MilkyWayJoe

ответ

1

Проще всего набрать {{render 'tags' someModel}} из шаблона, чем программно сделать это в крючке и названной розетке renderTemplate. Вы должны сделать someModel доступны на контроллере, что вы в настоящее время в

Вы хотите подключить несколько моделей на контроллере, см. EmberJS: How to load multiple models on the same route?

Пример: http://emberjs.jsbin.com/OxIDiVU/1051/edit

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