0

私がこれを使用した場合、それは機能しています。しかし、関数名の名前を変更すると、エラーが表示されます

ビュー ファイル内:

echo $this->Html->link( '<span>Page 1</span>', array('action' => 'ra'), array('escape' => false));

コントローラーで:

public function ra()
    {
    $this->render('ra');    
    }
4

2 に答える 2

1

慣例により、ビュー ファイルはメソッド (アクション) 名と同じでなければなりません。

URLの外観を変更したい場合は、メソッド/ビューの名前を変更するのではなく、ルートを使用する必要があります。

特定のアクションに対して別のファイルをレンダリングする場合は.ctp、次のようにデフォルトの動作をオーバーライドできます。

public function ra() {
    $this->render('my_other_view'); 
}

エラーを回避するために、URL で指定されたactionは常に存在している必要があります (ただし、ルーティングにより、アクションに別の「名前」を使用して、それらを適切なコントローラー メソッドにマップできます)。

于 2013-09-25T09:20:41.400 に答える
0

ビュー テンプレート ファイルは、表示するコントローラー関数にちなんだ名前で、下線付きの形式になっています。PeopleController クラスの getReady() 関数は、ビュー テンプレートを検索します。/app/views/people/get_ready.ctp.

基本パターンは/app/views/controller/underscored_function_name.ctp.

CakePHP の規則を使用してアプリケーションの各部分に名前を付けることで、構成の手間やメンテナンスの手間をかけずに機能を得ることができます。規約を結び付ける最後の例を次に示します。

データベース テーブル: 「people」 モデル クラス: 「Person」、場所/app/models/person.php コントローラ クラス: 「PeopleController」、場所

/app/controllers/people_controller.php
View template, found at /app/views/people/index.ctp

読む:規約を見る

また読む:CakePHPの規約

于 2013-09-25T09:16:57.520 に答える