2

为什么当我调用用户控制器时我的 flash 消息不显示?这是我的代码:

应用控制器.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.');
    }
}

用户控制器.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>

添加.ctp

<p>This is the add view</p>

我正在为我的页面使用内置的页面控制器。每当我通过页面控制器访问页面时,它都会正确显示具有正确视图的 Flash 消息。但是当我转到 /users/add 时,它显示了正确的视图,但没有显示 flash 消息。有谁知道为什么?这几天我对此感到沮丧。谢谢!

4

1 回答 1

0

在 中进行以下更改usercontroller

<?php
class UsersController extends AppControlle
{

    function beforeFilter()
    {
        parent::beforeFilter();
    }

    public function add()
    {
        $this->Session->setFlash('This flash was set in UsersController::add.');
    }
}
于 2013-02-21T03:58:24.943 回答