使用 Yii 中的表单小部件调用另一个控制器


call another controller using form widget in yii

我目前仍在掌握 Yii 框架,我正在尝试提交一个表单以转到 Yii 中的特定控制器。我所做的是我使用了CMSActive Form小部件(如果我错了,请纠正我)

和我放置的代码:

<?php $form=$this->beginWidget('CMSActiveForm', array(
        'id'=>'file-form',
        'action' => '../controllers/FolderController/actionCreate',
        'enableAjaxValidation'=>false,
)); ?>

我正在尝试调用来自另一个控制器的 actionCreate 函数,所以我尝试调用它,但错误 404 说:

无法解决请求 "文件/控制器/文件夹控制器/操作创建"。

C:''xampp1.8''htdocs''yii_1.1.13''framework''web''CWebApplication.php

行 # 286

0 C:''xampp1.8''htdocs''yii_1.1.13''framework''web''CWebApplication.php(141): CWebApplication->runController('files/controllers/FolderController') 1 C:''xampp1.8''htdocs''yii_1.1.13''framework''base''CApplication.php(169): CWebApplication->processRequest() 2 C:''xampp1.8''htdocs''cubecms''backend''www''index.php(12): CApplication->run() 3 {main}

我认为它看不到该函数,因为它是错误 404,但我是否正确调用了它?

我的控制器有一个 actionCreate 函数,一旦我可以进入函数内部,我就很好了。

action需要路由或有效 URL,而不是操作的路径。

`action`=>array('/controller/action',...)

地点

$this->createUrl('/controller/action');

所有 url 都必须使用 createUrl 或 createAbsoluteUrl 方法创建。

这里实际上是 url,不需要是/controller/action

如果你只希望它提交到/foo 上,那么将 '/foo' 放在 createUrl 中