ユーザーコントローラーを呼び出すと、フラッシュメッセージが表示されないのはなぜですか?これが私のコードです:
AppController.php
<?php
App::uses('Controller', 'Controller');
class AppController extends Controller {
public $helpers=array('Session');
public $components = array('Session');
public function beforeFilter()
{
parent::beforeFilter();
$this->Session->setFlash('This flash was set in AppController::beforeFilter.');
}
}
UsersController.php
<?php
class UsersController extends AppController {
public function add() {
$this->Session->setFlash('This flash was set in UsersController::add.');
}
}
マイレイアウト...default.ctp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php echo $this->Html->charset(); ?>
<title>My website.</title>
<?php
echo $this->Html->meta('icon');
echo $this->Html->css('cake.generic');
echo $this->fetch('meta');
echo $this->fetch('css');
echo $this->fetch('script');
?>
</head>
<body>
<div id="container">
<div id="header"></div>
<div id="content">
<?php echo $this->Session->flash(); ?>
<?php echo $this->fetch('content'); ?>
</div>
<div id="footer"></div>
</div>
</body>
</html>
add.ctp
<p>This is the add view</p>
ページに組み込みのページコントローラを使用しています。ページコントローラを介してページに移動するたびに、正しいビューでフラッシュメッセージが正しく表示されます。しかし、/ users / addに移動すると、正しいビューは表示されますが、フラッシュメッセージは表示されません。誰もが理由を知っていますか?私はこれに何日もイライラしています。ありがとう!