我正在制作自己的名為 Rma 的 cakephp 2 插件,并為此插件制作了一些路由。當(dāng)我想制作一個(gè)鏈接到編輯頁面的表單時(shí),該鏈接與我的路由文件中的鏈接不同。在瀏覽器中,我的路由正常工作,但是當(dāng)我更改表單操作或回顯 Html 鏈接時(shí),cakephp 會(huì)生成不同的鏈接。該代碼echo $this->Html->url(array('plugin' => 'Rma', 'controller' => 'RmaRequests', 'action' => 'edit', 2));為我提供了以下 url:'/Rma/RmaRequests/edit/2',而路由文件中的 url 為'/rma/edit/:id'。Cakephp 給了我錯(cuò)誤的網(wǎng)址。這是我在插件配置文件夾中的 routes.php (app/Plugin/Rma/Config/routes.php):Router::connect('/rma/new', [ 'plugin' => 'Rma', 'controller' => 'RmaRequests', 'action' => 'add']);Router::connect('/rma/edit/:id', [ 'plugin' => 'Rma', 'controller' => 'RmaRequests', 'action' => 'edit'], array( // order matters since this will simply map ":id" to // $articleId in your action 'pass' => array('id'), 'id' => '[0-9]+' ));Router::connect('/rma/new/:id/', array( 'plugin' => 'Rma', 'controller' => 'RmaRequestProducts', 'action' => 'add'), array( // order matters since this will simply map ":id" to 'pass' => array('id'), 'id' => '[0-9]+' ));我也嘗試將路由放在我的應(yīng)用程序 routes.php 中,但這仍然沒有解決問題。這是我在 app/Config/bootstrap.php 中加載插件的方式: CakePlugin::load('Rma', array('routes' => true, 'bootstrap' => true));有什么我忘記了或者我做錯(cuò)了什么嗎?我正在使用 CakePHP 版本 2.5.1
1 回答

料青山看我應(yīng)如是
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
答案,thnx to @ndm in the comments:
Url 有一個(gè)名為 id 的命名參數(shù)。代替: echo $this->Html->url(array('plugin' => 'Rma', 'controller' => 'RmaRequests', 'action' => 'edit', 2));
一定是
echo $this->Html->url(array('plugin' => 'Rma', 'controller' => 'RmaRequests', 'action' => 'edit', 'id'=> 2));
- 1 回答
- 0 關(guān)注
- 129 瀏覽
添加回答
舉報(bào)
0/150
提交
取消