2013-03-05 4 views
0

Я мои маршруты установлен какEmberjs метод модели находка не заселять шаблон

# ROUTER MAPPING 
App.Router.map(-> 
    this.resource("alertInstances", 
    path:"/" 
) 

    this.resource("alertInstance", 
    path:"/:alertInstance_id" 
) 
) 

# ALERT INSTANCES ROUTE 
App.AlertInstancesRoute = Ember.Route.extend(
    model: -> 
    App.AlertInstance.all() 

    setupController: (controller, model) -> 
    controller.set("content", model) 
) 

# ALERT INSTANCE ROUTE 
App.AlertInstanceRoute = Ember.Route.extend(
    model: (params) -> 
    App.AlertInstance.find(params.alertInstance_id) 

    setupController: (controller, model) -> 
    controller.set("content", model) 
) 

Когда я иду на маршрут «/» я получаю список всех «оповещение экземпляров» и я нажимаю один и его показывает детали одного «экземпляра предупреждения».

Мой объект модели настроен, как показано ниже.

# ALERT INSTANCE MODEL 
App.AlertInstance = Ember.Object.extend() 
App.AlertInstance.reopenClass(
    allAlertInstances: [] 
    currAlertInstance:null 
    all: -> 
    @allAlertInstances = [] 
    $.ajax 
     url:base + "api/alert_instances" 
     dataType: "JSON" 
     context:this 
     success: (response) -> 
    for i in response 
     i.clinical = if i.alert_type is "clinical" then true else false 
     @allAlertInstances.addObject App.AlertInstance.create(i) 
    @allAlertInstances 
) 

Все это работает очень хорошо. Но когда пользователь переходит непосредственно к «/ 10» (указав идентификатор экземпляра оповещения), поскольку данные не были получены с сервера, отобразить нечего.

Поэтому я добавил следующее «найти» метод

find: (id) -> 
    @currAlertInstance = null 
    $.ajax 
    url:base + "api/alert_instance" 
    dataType:"JSON" 
    context:this 
    data: 
     id:id 
     success: (response) -> 
     @currAlertInstance = App.AlertInstance.create(response) 
     @currAlertInstance 
    @currAlertInstance 

Но вид пустой и ничего не отображается.

В моей сети консоли Chrome я вижу, что объект JSON одного экземпляра сообщения действительно был возвращен.

Любые идеи?

ответ

0

Использовать визуализацию в Маршруте для визуализации шаблона.

App.AlertInstancesRoute = Ember.Route.extend({ 
    render: function() { 
    this.render([<handlebar_name>], { 
     [outlet: <outlet_name>], 
     [into: <template_name_to_render_to>] 
    }); 
    }, 

    model: function(params) { 
    App.AlertInstance.all(); 
    }, 

    setupController: function(controller, model) { 
    controller.set("content", model); 
    } 
}) 

Для получения дополнительной информации, пожалуйста, следуйте this link

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