Parameters Yii2:控制器操作未从路由接收参数

Parameters Yii2:控制器操作未从路由接收参数,parameters,routes,yii2,Parameters,Routes,Yii2,我有一个奇怪的问题,我认为与配置有关。我有漂亮的URL,我有一个路由定义为: '/customers/update/<id:\d+>' => '/customers/default/update' public function actionUpdate($id) {} 我的控制器是模块的一部分,映射正确,但我的操作似乎没有收到参数。如果我在route和action中省略了参数,那么会正确调用action,如果我给参数一个默认值,那么一切都会正常工作。总之,我得到一个错误

我有一个奇怪的问题,我认为与配置有关。我有漂亮的URL,我有一个路由定义为:

'/customers/update/<id:\d+>' => '/customers/default/update' 
public function actionUpdate($id) {}
我的控制器是模块的一部分,映射正确,但我的操作似乎没有收到参数。如果我在route和action中省略了参数,那么会正确调用action,如果我给参数一个默认值,那么一切都会正常工作。总之,我得到一个错误,表示缺少参数1

public function actionUpdate($id) {}

有什么想法吗?

啊,解决了。我扩展了错误的控制器类。。。我在用

public function actionUpdate($id) {}
yii/base/Controller yii/基地/控制员 而不是

public function actionUpdate($id) {}
yii/web/Controller yii/网络/控制器
可能已经找了一段时间了…

向我们展示一个尝试过的URL示例,在
urlManager
中将您的路由配置放在第一位。因为,可能是此路由与另一个默认路由交叉,如
/
。这是我正在尝试的URL:/customers/update/2,这是我得到的错误:“app\modules\customers\controllers\defaultcontrollers::actionUpdate()缺少参数1”“我还尝试将路由放在规则列表的最顶端。该解决方案帮助我解决了console\Controller的相同问题。
public function actionUpdate($id) {}