在ember中如何根据路由器确定视图的名称?

时间:2013-03-27 13:53:48

标签: ember.js

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。为什么呢?

2 个答案:

答案 0 :(得分:0)

“嵌套在资源下的路由将资源名称加上其名称作为路由名称”,来自http://emberjs.com/guides/routing/defining-your-routes/

我对设置的理解是查看路由,然后查看它的父资源,以便自动派生修补。这样/ resource1 / sameresourcename / new和/ resource2 / sameresourcename / new实际上会导致问题,因为它不使用完整的“树”来生成这些路径/名称。

答案 1 :(得分:0)

我花了很多时间研究这个,因为我在理解命名约定的方法和原因时遇到了问题。这是我发现的关于选择哪些路径/资源来创建视图/控制器/资源名称的信息量最大的站点。

来自彼得“我们故意只嵌套一层深度。正确的解决方案是@jamesarosen所建议的。”

https://github.com/emberjs/ember.js/issues/2086