0

だから私の問題は、ヘルパーをコントローラーにロードする方法を知っているが、FormHelperではなくHtmlHelperでのみ機能することです。

私はそれを私のメソッドに次のようにロードします:

//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は、linkメソッドを使用して出力するとうまく機能し、ビューに完全にレンダリングされたリンクが表示されます。

私はAjaxに新しい入力をロードするだけではありませんが、それは機能せず、理由はわかりません...私の問題を理解していただければ幸いです。

4

2 に答える 2

2

あなたがそこでしていることはひどく間違っています。これがうまくいかず、うまくいかないのには十分な理由があります。

ドキュメントとチュートリアルで概説されている通常の MVC 手順を使用します。 http://book.cakephp.org/

あなたの場合、これは常にビュー テンプレート (/views/controllername/actionname.ctp) を使用し、そこにフォームを配置する必要があることを意味します。

于 2012-01-24T22:37:13.950 に答える
2

以下のコードを変更します

App::import('ヘルパー', 'フォーム');

$form = new FormHelper();

この下のコードに

App::import('ヘルパー', 'フォーム');

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

次に、この $form->input('name'); のように $form を使用します。

あなたが行方不明です (new View())

于 2015-09-29T09:22:49.027 に答える