0

所以我的问题是我知道如何将 Helper 加载到 Controller 中,但它只适用于 HtmlHelper 而不是 FormHelper。

我将它加载到我的方法中,如下所示:

//this method is from an controller like page_controller    
function addField($pageID) {

    if($this->RequestHandler->isAjax()) {
        $this->autoRender = false;
    }

    App::import('Helper', 'Form');

    $form = new FormHelper();

    return $form->input('test');

}

我遇到了一些错误,例如无法加载未知的 stdClas::$model 等。

当我用链接方法输出它时,HtmlHelper 工作得很好,我在我的视图中得到了一个完整的渲染链接。

我不仅要在 Ajax 上加载一个新的输入,但它不会工作,我不知道为什么......希望你理解我的问题。

4

2 回答 2

2

你在那里做的事情是非常错误的。有充分的理由为什么这不会也不应该按照你的方式工作。

使用文档和教程中概述的正常 MVC 过程。 http://book.cakephp.org/

在您的情况下,这意味着您需要始终使用视图模板(/views/controllername/actionname.ctp)并将表单内容放在那里。

于 2012-01-24T22:37:13.950 回答
2

更改以下代码

App::import('Helper', 'Form');

$form = new FormHelper();

进入下面的代码

App::import('Helper', 'Form');

$form = new FormHelper(new View());

然后像这样使用 $form $form->input('name');

你不见了(新视图())

于 2015-09-29T09:22:49.027 回答