现在我有以下应用 - http://jsbin.com/okoxim/7/edit
它允许一个人按名称或按类浏览用户。如果用户浏览,并且您单击新用户,则会获得没有默认值的新表单,并且在保存时,您将被定向到该用户详细信息。
按类浏览时,我想提供添加新用户的选项,新表单应该默认为当选择新用户选项时所在的当前类,并且在保存时,我们应该返回到类得救了。
设置路线的正确方法是什么来促进这种情况?我应该如何重用现有的新控制器呢?
答案 0 :(得分:0)
您可以使用自定义event
在路线内进行管理。从您的视图/控制器中,您将事件冒泡到路线,该路线负责在给定数据的情况下添加学生。
App.ApplicationRoute = Em.Route.extend({
events: {
createStudent: function(student, gradeId) {
var grade = App.Grade.find(gradeId);
var newStudent = App.Student.create({
name: student.name,
address: student.address,
grade: grade
});
newStudent.save();
// other application related stuff
}
}
});
然后从控制器中使用send
将包含此数据的事件发送到路径。
save: function() {
var gradeId = this.get('newGrade');
var student = {
name: this.get('newName'),
address: this.get('newAddress')
};
this.send('createStudent', student, gradeId);
// other view related stuff
}
然后可以从不同的控制器/视图重用createStudent
事件。