routes.php
에 다음 코드가 한
를 호출. 그러나 abc
(슬러그)을 제거하면 CakePHP는 액션 123
(동작이 아닌 ID 임)에 액세스하려고 시도합니다. 나는 2.2.1 (예, 아주 오래된) 1.2에서 업그레이드하기 전에 무엇을했다이었다 /c/details/:id/:slug/:action/*
를 사용하고 잘 작동 된 경우은 CakePHP의 사용자 정의 경로가 잘못된 행동
Error: The action 123 is not defined in controller CarsController
는, CakePHP의도 내가 슬러그가 있는지 여부를 행동 123
에 액세스하려고하거나 아니.
CakePHP를 업그레이드하기 전에 항상 슬러그가없는 URL과 컨트롤러에있는 코드로 URL에 슬러그가없는 경우 올바른 URL로 리디렉션됩니다.
편집 : 방금 확인했는데 슬러그를 제공하지 않으면 모든 것이 바뀌 었습니다. c
이 무시되면 details
이 컨트롤러가되고 123
이 작업이됩니다.
[request] => CakeRequest Object
(
[params] => Array
(
[plugin] =>
[controller] => details
[action] => 123
[named] => Array()
[pass] => Array()
[isAjax] =>
)
올바른가 될 때, 나는 슬러그와 함께 제공하는 경우 내가 무엇을 얻을이다 : 지금이 문제를 일으킬 수있는 어떤
[request] => CakeRequest Object
(
[params] => Array
(
[plugin] =>
[controller] => cars
[action] => index
[named] => Array()
[pass] => Array
(
[0] => 123
[1] => abc
)
[id] => 123
[slug] => abc
[isAjax] =>
)
어떤 생각을?
효과가 있습니다. 이상한 것은 오래된 케이크 버전으로 한 경로만으로 충분했기 때문입니다. 감사. – rlcabral