0

余烬rc1。我不明白视图是如何通过命名约定自动实例化它们的路由的。

我定义了以下资源:

  this.resource('groups', { path : '/groups' }, function() {
      this.resource('received', { path : '/received' }, function() {            
        this.route('show', { path : '/:asset_link_group_id' });
  });

当路由器为组/接收/索引实例化视图时,它会查找名为 ReceivedIndexView 的视图。为什么不 GroupsReceivedIndexView ?

控制器也是如此 - 它查找 ReceivedIndexController,而不是 GroupsReceivedIndexController。为什么?

4

2 回答 2

0

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

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

于 2013-03-27T14:01:30.127 回答
0

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

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

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

于 2013-11-08T16:00:22.343 回答