使用{{render "modelHandler" model}}
时,永远不会调用相应控制器的model
函数。
转载于此:http://jsbin.com/EVoXAceP/3/edit
我90%确定这是一个错误。在我发布到github之前,我发布了这个,以防有一些明显我错过了或者#34;我做错了。"在任何一种情况下,如果你能指出我正确的方向。
用例(为什么我首先需要这个工作)。
我使用{{render}}包含一个AddressAdd模板,我需要扩展模型以包含状态列表以及默认状态。虽然我可以将状态加载到父模型(例如属性或联系人卡片)上,但由于许多视图包含AddressAdd,因此我希望避免每次都手动添加下拉信息。
因此,除了{{render}}和控制器的模型钩子之外,如果你碰巧知道更好的方法,请告诉我!
答案 0 :(得分:1)
这不是一个错误,只有当您访问与该路由关联的URL时才会触发模型挂钩,并且它仍然存在于路由上,而不是控制器上。另外,如果您的控制器上有一个模型,它应该是一个ObjectController(除非它是一个数组,然后它是一个ArrayController)。
http://jsbin.com/EVoXAceP/13/edit
当你调用渲染时,你说你想要使用特定的上下文渲染特定的模板。
我会在你所在的路线下创建一条路线,并使用没有模型的链接,这将导致模型钩子被触发。
答案 1 :(得分:1)
在您的申请模板中
{{ render 'foo' bar }}
你应该在ApplicationController中有bar
属性吗?
App.ApplicationController = Ember.Controller.extend({
bar: {isBar: 'yup'}
});