2017-05-30 37 views

回答

2

看看在链接的文档中给出的示例路由模式,嵌套Articles>Comments资源将创建路线Comments与以下模式:

/articles/:article_id/comments 
/articles/:article_id/comments/:id 

您还可以检查$ bin/cake routes获取列表所有连接路线的模式和默认值。你要找的路线将在那里列为是这样的:

+----------------+--------------------------------+--------------------------------------------------------------------------+ 
| Route name  | URI template     | Defaults                 | 
+----------------+--------------------------------+--------------------------------------------------------------------------+ 
| comments:index | /articles/:article_id/comments | {"controller":"Comments","action":"index","_method":"GET","plugin":null} | 

路由绑定到特定的HTTP方法(如上面可以在默认列中可以看出)的所有资源,即内部的_method选项使用,并且父ID以前缀单数控制器/资源名称为前缀。

要匹配Comments索引,只需将Comments控制器和index按照常规操作即可。另外通过相应_method(对于indexGET),并通过父ID在名为方式,即作为article_id,如:

[ 
    'controller' => 'Comments', 
    'action' => 'index', 
    '_method' => 'GET', 
    'article_id' => 4 
] 

参见

+0

非常感谢!解决方案非常简单 – jurrieb

0

您可以加入Html和网址帮手,就像这样:

<?= 
    $this->Html->link(
     'Enter', 
     $this->Url->build('/articles/4/comments', true), 
     ['class' => 'button', 'target' => '_blank'] 
    ); 
?> 

参见: