【问题标题】:[name]Controller and its behaviors do not have a method or closure named "createReturnableUrl"[name]Controller 及其行为没有名为“createReturnableUrl”的方法或闭包
【发布时间】:2015-06-24 12:38:20
【问题描述】:

在 Yii 中工作,我得到了

的错误

SystemManagementController 及其行为没有方法或 名为“createReturnableUrl”的闭包

我找不到任何解决方法。它发生在我添加这个之后:

array(
        'class' => 'CButtonColumn',
            //'viewButtonUrl' => '$this->grid->controller->createReturnableUrl("view",array("id"=>$data->id))',
            'updateButtonUrl' => '$this->grid->controller->createReturnableUrl("update",array("id"=>$data->id))',
            'deleteButtonUrl' => '$this->grid->controller->createReturnableUrl("delete",array("id"=>$data->id))',
            //'deleteConfirmation' => Yii::t('app', 'Are you sure to delete this item?'),
        ),

到:

<?php
    //The following lines needs to be moved to the controller to sepparate the view from the controllers.
    $model = new CActiveDataProvider('User');

    //The following line should be set by the controller. Containing the names of the colums in a chosen language.
    /**/

    $colums = array(
        'login',
        'name_first',
        'name_last',

        //'password',
        'email',
        'is_active',
        //'sortorder',
        array(
        'class' => 'CButtonColumn',
            //'viewButtonUrl' => '$this->grid->controller->createReturnableUrl("view",array("id"=>$data->id))',
            'updateButtonUrl' => '$this->grid->controller->createReturnableUrl("update",array("id"=>$data->id))',
            'deleteButtonUrl' => '$this->grid->controller->createReturnableUrl("delete",array("id"=>$data->id))',
            //'deleteConfirmation' => Yii::t('app', 'Are you sure to delete this item?'),
        ),
    );


    $this->widget('zii.widgets.grid.CGridView', array(
        'dataProvider' => $model,
        'columns' => $colums,
        'filter' => $model->model)
    );
?>

当我删除那段代码时,没有问题,一切正常,但是当我添加该行时,它给了我错误。

我在不同的班级也使用了那条线,但我没有遇到问题,我该如何解决这个问题?

【问题讨论】:

  • 尝试转义 $,这可能会解决它。
  • @MihaiP。我确实删除了它现在可以使用的 $ 但我收到此错误Parse error: syntax error, unexpected '-&gt;' (T_OBJECT_OPERATOR) in /vagrant/vendor/yiisoft/yii/framework/base/CComponent.php(612) : eval()'d code on line 1
  • 其他使用这个的控制器,它们(包括问题控制器)是否都扩展了同一个类?
  • 嗯,它们没有显示任何错误。

标签: php yii


【解决方案1】:

控制器似乎不知道 createReturnableUrl。根据我在谷歌上搜索到的 yii 行为,您可以附加,您确定您为 SystemManagementController 正确附加了该行为吗?查看使用相同代码的所有其他控制器是否附加了该行为,也许这个没有。

【讨论】:

    猜你喜欢
    • 2014-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    相关资源
    最近更新 更多