У меня возникли трудности с изучением ember.js и ember-cli одновременно, в первую очередь, в попытке перевести то, что находится на вкладке ember.js, в среду ember-cli , Я собирался в кругах, пытаясь понять, как использовать динамические сегменты с полем, кроме «id».Проблемы с Ember и Ember-cli с динамическими маршрутами
В Emberjs.com дает пример использования jQuery.getJSON и функции сериализации, но я не знаю,
1), как ссылаться на JQuery от Ember-кли (если я даже нужно сделать это так, как в ссылка выше говорит), и
2) Похоже, что независимо от того, что я стараюсь, я получаю ошибку «не могу вызвать метод GET из" неопределенных»в моей функции сериализации
Я в настоящее время использую transitionToRoute
так как я пытаюсь перейти от кнопки вместо вспомогательного помощника link-to
(лучшие рекомендации очень приветствуются приехать).
Вот действие моя кнопка использует (это в контроллере):
actions: {
viewDetails: function() {
this.transitionToRoute('project-details', this.get('projectName'));
}
}
Если мой маршрут является:
this.resource('project-details', {path: '/project/:project_projectName'});
Затем документы Эмбер бы предположить, что это что мне нужно в маршруте моего проекта, но у меня нет никакой перестановки сериализатора, чтобы работать, поэтому я уверен, что я делаю что-то неправильно, но я не знаю, что.
model: function(params) {
//I've tried all kinds of things in here, not sure if I need getJSON
// since right now I'm just using fixture data
//If I do need jQuery, not sure how to use it in ember-cli (i.e. the import statement to use)
return jQuery.getJSON('/project/' + params.project_projectName);
},
serialize: function(model) {
return { project_projectName: model.get('projectName') };
}
EDIT: Добавление модели
var Project = DS.Model.extend({
creationDate: attr('date'),
lastModifiedDate: attr('date'),
lastModifiedResourceId: attr('string'),
ppmcNumber: attr('number'),
ppmcUrl: attr('string'),
phase: attr('string'),
staffingProfile: attr('string'),
projectType: attr('string'),
projectDesc: attr('string'),
product: attr('string'),
clientId: attr('string'),
clientName: attr('string'),
overallStatus: attr('string'),
liveDate: attr('date'),
rygStatus: function(){
return 'status-' + this.get('overallStatus').toLowerCase();
}.property('overallStatus')
});
где определяется 'projectName'? Я предполагаю, что ошибка заключается в том, что «get» не находит для нее значения. – Grapho
@Grapho: имя_проекта определено в модели проекта. Ошибка говорит о том, что он не может получить доступ к методу «получить» из «неопределенного», который я подразумеваю, чтобы он не знал, что такое модель, поэтому он не может выполнить метод get. – redOctober13
Я немного смущен, вы модель данных ember, но вы используете $ .getJSON. Когда вы создаете/используете эту модель данных ember? – Kingpin2k