2014-01-13 2 views
1

Невозможно получить доступ к моим запрошенным данным (из REST API) из шаблона. Например, чтобы получить имя или что-то подобное, пытался что-то сДанные Ember - Передача данных в шаблон

{{model}} or {{App.Customer.name}} 

Но не работал.

JSON с API:

{ 
    "customer": { 
    "name": "Omegasoft" 
    } 
} 

app.js Код:

App.IndexRoute = Ember.Route.extend({ 
    model: function() { 
    return this.get('store').find('customer'); 
    } 
}); 

App.ApplicationAdapter= DS.RESTAdapter.extend({ 
    namespace: 'api/rest' 
}); 

App.Customer = DS.Model.extend({ 
    name: DS.attr() 
}); 

ответ

1

Похоже, ваша проблема с тем, как вы представляете данных в формате JSON API. Ember-data ожидает, что вы будете следовать их соглашениям об именах. Так что если у вас есть customer модель, то JSON вы отправите ваше приложение должно выглядеть следующим образом:

{ 
    'customers': [{ 
     'name': 'Omegasoft' 
    }] 
} 

В шаблоне, до тех пор, пока модель связана, вы должны быть в состоянии просто поставить {{name}} в шаблоне и Эмбер будет достаточно умен, чтобы связать их.

Если шаблон получает отправленный массив, вам также нужно будет использовать {{#each}} для итерации по каждому объекту.

Я не знаю, есть ли в вашем коде потенциально другие проблемы.

+0

Что вы имели в виду под «моделью связана»? Спасибо за ваш первый совет –

+0

В принципе, указание модели на маршруте должно связывать ее, предполагая, что все названо правильно. – EmptyArsenal

+0

Хорошо, теперь это работает. Но действительно ли мне нужно каждый раз обертывать его ((#each))? –

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