Я оцениваю EmberJs для проекта и работаю через ember screencast от Tom Dale. Но я не использую Ember Data и пытаюсь настроить наш контент (объект Post в этом примере).пытается получить ссылку на объект, который является моделью на маршруте Ember, не используя данные ember
В модели Ember Data он использует this.get ('store'). Commit() для сохранения и сохранения на сервере. Я пытаюсь получить объект сохранения на моей модели Post и называть его, когда пользователь нажимает кнопку, которая должна запускать метод save
. Как мне это сделать? То, что я пробовал, находится внизу (this.save, this.model.save, this.post.save), но включил почти весь код. Кроме того, разумен ли этот общий подход?
ТНХ помощь
window.Hex = Ember.Application.create();
Hex.Router.map(function() {
this.resource('posts', function(){
this.resource('post', { path: ':post_id' });
});
});
// the model class
Hex.Post = Ember.Object.extend({
save: function(){ a
console.log("you clicked save");
}
});
Hex.PostRoute = Ember.Route.extend({
model: function(params) {
return $.getJSON("/arc/v1/api/all-post", function(data){
var post = Hex.Post.create();
post.set('id', data.id);
return post;
});
}
});
Hex.PostController = Ember.ObjectController.extend({
isEditing: false,
actions:{
edit: function() {
this.set('isEditing', true);
console.log("within edit");
},
doneEditing: function() {
this.set('isEditing', false);
this.save(); // doesn't work trying to get a reference to the post object
this.model.save(); // doesn't work - undefined
this.post.save(); // doesn't work - undefined
//this.get('store').commit(); what is called in the sample app
}
}
});
thx, у меня не так много опыта с обещаниями - похоже на цепочку jQuery цепочек цепочек Rails. Я заметил, что это даже не похоже, что объект модели в PostController ObjectController вызывается и вместо этого генерируется автоматически из PostsController ArrayController. Мне нужно будет изучить это больше. – timpone
Я задал отдельный вопрос о методах класса и Ember здесь: http://stackoverflow.com/questions/20586434/in-ember-how-to-create-a-class-method-on-ember-object-extend -that-can-work-to-ac, чтобы понять это. – timpone
Чтобы максимально использовать маршрутизатор, определенно потребуется некоторое время, чтобы учиться и экспериментировать с обещаниями. –