Yii,createUrl没有按预期工作

rix*_*rix 2 yii yii-routing

我在视图中执行以下操作:

 <li><a href='<? Yii::app()->controller->createUrl('sources'); ?>'>sources</a></li>
Run Code Online (Sandbox Code Playgroud)

但是'sources'没有附加到路径,而是代码只返回当前控制器的路径.

有谁能说明为什么这可能是我?代码在一个模块中.

我的网址规则如下:

'rules'=>array(
 '<controller:\w+>/<id:\d+>'=>'<controller>/view',
 '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
 '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
               ),
Run Code Online (Sandbox Code Playgroud)

小智 12

你应该尝试两件事

要获得绝对URL而不是相对于当前控制器或操作,请添加一个前导'斜杠',如:

    Yii::app()->createUrl('/sources/view');
Run Code Online (Sandbox Code Playgroud)

你还应该确保你没有做一些愚蠢的事情,比如忘记使用echo :)有时会发生在我身上......

    <li><a href='<? echo Yii::app()->controller->createUrl('sources'); ?>'>sources</a></li>
Run Code Online (Sandbox Code Playgroud)