應用自動 RESTful 路由后使用$routes->resources('ProcessoJudicial')
我想允許我的視圖方法接受兩個或多個引數(通過域規則),例如:
public function view(string $cnj, string $sigla_tribunal = null) {
...
}
使用此 URI 效果很好:
http://localhost/myapp/processo_judial/22/
但是當我嘗試兩個引數時:
http://localhost/myapp/processo_judial/22/11/
我收到一個錯誤:
Error: Your routing resulted in Processo_judicial as a controller name.
Ensure that your URL /processo_judicial/22/11/ is using the same inflection style as your routes do. By default applications use DashedRoute and URLs should use - to separate multi-word controller names.
uj5u.com熱心網友回復:
資源路由具有不接受尾隨引數的固定 URL 格式,您不能將值附加到它們:
| HTTP 格式 | URL.格式 | 呼叫的控制器操作 |
|---|---|---|
| 得到 | /recipes.format | 食譜控制器::index() |
| 得到 | /recipes/123.format | 食譜控制器::視圖(123) |
| 郵政 | /recipes.format | 食譜控制器::add() |
| 放 | /recipes/123.format | 食譜控制器::編輯(123) |
| 修補 | /recipes/123.format | 食譜控制器::編輯(123) |
| 洗掉 | /recipes/123.format | 食譜控制器::洗掉(123) |
食譜 > 路由 > RESTful 路由
有一些配置可以用來改變事情,即允許定義傳遞引數的connectOptions選項(基本上最終作為 的第三個引數),以及可以定義動作的自定義路徑的選項。RouteBuilder::connect()map
這是一個示例,它將覆寫內置view路由配置,并定義要傳遞的附加路由元素:
$routes->resources('ModelName', [
'connectOptions' => [
'acronym' => '[a-zA-Z] ',
'pass' => ['id', 'acronym'],
],
'map' => [
'view' => [
'action' => 'view',
'method' => 'GET',
'path' => '{id}/{acronym}',
],
],
]);
如果這是一個例外值,那么這樣做可能很好。但是,如果您必須為更多路線這樣做,那么您應該考慮放棄resources()速記,而是自己創建所有必需的路線。
也可以看看
- Cookbook > Routing > RESTful Routing > 資源路由的自定義路由類
- 食譜 > 路由 > RESTful 路由 > 映射其他資源路由
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/488175.html
