我的路线里面的“约会”下面我可以达到并获得父“天”的模式如何从控制器内部获取父路线模型?
App.Router.map(function(match) {
this.resource("day", { path: "/day/:day" }, function() {
this.resource("appointments", { path: "/appointments" }, function() {
this.route("new", { path: "/:appointment_start/new" });
this.route("edit", { path: "/:appointment_id/edit" });
});
});
});
但是,当我是新的或编辑路线内心深处,我怎么能可达(从行动处理程序中),并像我在路线中一样抓住父母的“日”模型?
App.AppointmentsEditController = Ember.Controller.extend({
actions: {
updateAppointment: function(appointment) {
var day = this.get('??');
}
}
});
更新
最终控制代码现在看起来像这样
App.AppointmentsEditController = Ember.Controller.extend({
needs: 'day',
actions: {
updateAppointment: function(appointment) {
var day = this.get('controllers.day');
}
}
});
谢谢!这工作正如你所建议的(我只需要添加需要的一天行来获得它100%) –
你好,我正在尝试这样做,而是试图获得父Appointment而不是在AppointmentEdit控制器的一天。我尝试使用this.get('controllers.appointments'),但我得到一个约会数组,而不是我正在编辑的特定的约会。你能否告知如何获得正在编辑的预约?我可以使用上面的方法获得控制器内的所有约会*的数组。我可以在路由*中获取params.appointment_id *。但我无法弄清楚如何在任何一方中获得预约。 –
*通过将数组保存到控制器属性,然后从路由中获取该属性并转到特定的param.appointment_id索引来修复上述问题。看起来过于复杂...也许有更好的方法? –