这个问题已被多次询问,但出于某种原因,建议的解决方案对我不起作用。
我不想在我的行动中使用“deleteDefaultUser”这样的名字。为实现这一目标,我已经完成了以下工作。
添加了路线
$route = new Zend_Controller_Router_Route_Static(
'user/delete-default-user',
array(
'action' => 'deleteDefaultUser',
'controller' => 'user',
'module' => 'root'
)
);
$router->addRoute('delete-default-user', $route);
定义我的行动如下
public function deleteDefaultUserAction(){
//some code
}
并生成了这样的网址
echo $this->url(array(), 'delete-default-user');
(这会生成URL / user / delete-default-user)
但由于某种原因,我仍然收到如下所示的错误:
Zend_Controller_Action_Exception: Action "deletedefaultuser" does not exist and was not trapped in __call() in C:\Users\Jay\Projects\EOP\library\Zend\Controller\Action.php on line 485
我检查过控制器并且操作名称是正确的。但是从错误消息来看,似乎Zend Framework没有将camel case应用于动作名称。
我使用的Zend Framework版本是1.12。
任何人都可以帮忙吗?
修改:如果我将操作名称更改为“deletedefaultuser”,则说明其工作正常。
答案 0 :(得分:2)
将路线的行动部分更改为:
'action' => 'delete-default-user',
然后它应该工作。