ember rc1。我不明白如何通过路由命名约定自动实例化视图。
我定义了以下资源:
this.resource('groups', { path : '/groups' }, function() {
this.resource('received', { path : '/received' }, function() {
this.route('show', { path : '/:asset_link_group_id' });
});
当路由器实例化groups / received / index的视图时,它会查找名为ReceivedIndexView的视图。为什么不是GroupsReceivedIndexView?
控制器也一样 - 它查找ReceivedIndexController,而不是GroupsReceivedIndexController。为什么呢?
答案 0 :(得分:0)
“嵌套在资源下的路由将资源名称加上其名称作为路由名称”,来自http://emberjs.com/guides/routing/defining-your-routes/
我对设置的理解是查看路由,然后查看它的父资源,以便自动派生修补。这样/ resource1 / sameresourcename / new和/ resource2 / sameresourcename / new实际上会导致问题,因为它不使用完整的“树”来生成这些路径/名称。
答案 1 :(得分:0)
我花了很多时间研究这个,因为我在理解命名约定的方法和原因时遇到了问题。这是我发现的关于选择哪些路径/资源来创建视图/控制器/资源名称的信息量最大的站点。
来自彼得“我们故意只嵌套一层深度。正确的解决方案是@jamesarosen所建议的。”