1

この質問は何度も聞かれましたが、何らかの理由で提案された解決策がうまくいきません。

アクションに「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
    }

そして、このようなURLを生成しました

 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 はアクション名にキャメル ケースを適用していないようです。

私が使用している Zend Framework のバージョンは 1.12 です。

誰でもこれを手伝ってもらえますか?

編集:アクション名を「deletedefaultuser」に変更すると、正しく機能します。

4

1 に答える 1

3

ルートのアクション部分を次のように変更します。

'action'     => 'delete-default-user',

そして、それはうまくいくはずです。

于 2014-03-20T11:15:37.740 に答える