代码之家  ›  专栏  ›  技术社区  ›  Alvaro Alday

为什么Yii2框架在创建自定义视图页面时显示404错误?

  •  0
  • Alvaro Alday  · 技术社区  · 7 年前

    我试图在我的站点控制器中使用以下代码在yii2框架中创建自定义显示:

    /******/
    public function actionChartDisplay()
    {
        return $this->render('chartDisplay');
    }
    

    出于测试目的,我将表单名称粘贴到actionAbout函数中,作为其中render函数的参数。它解决了这个问题:

    public function actionAbout()
    {
        return $this->render('chartDisplay');
    }
    

    但是我需要在yii2中创建许多自定义视图,这不是一个解决方案。

    这就是我得到的错误 enter image description here

    我很好奇为什么会这样。因为我一直在跟踪 this 我发现了这种奇怪的行为。 “我的”图表显示。php的文件只是一个“hello world”,它确实可以处理关于函数的操作。

    2 回复  |  直到 7 年前
        1
  •  3
  •   SmartCoder    7 年前

    在yii2中,由大写字母标记的具有多个单词的控制器和动作除以 - 在您的请求中,因此在您的情况下,路线将是 some/chart-display

        2
  •  0
  •   Alvaro Alday    7 年前

    显然,正如@SmartCoder指出的,Yii2在其控制器中处理动作函数的方式是错误的,但是我没有立即将他的答案标记为解决方案,因为实现它会导致错误。除此之外,我还发布了我解决问题的方法。

    因此,我没有使用图表显示,而是将其更改为“图表”,如下所示:

    public function actionCharts(){
        return $this->render('charts');
    }
    

    更改了我的文件名,使其适合 charts.php 它成功了。