2015-01-10 17 views
0

我已经使用高级模板安装了最新版本的yii2。该网站工作正常。出于某种原因,Gii代工具被卡住,并且在点击预览按钮后没有按预期做出反应。与“生成”按钮显示新表单不同,它没有任何消息显示相同的表单,没有任何消息发生。Gii模型一代没有通过第一步 - 奇怪的行为,这是什么原因造成的?

使用xdebug我可以在DefaultController的“actionView”方法中看到数组值$ _POST ['preview']没有被设置,即它不存在于$ _POST数组中。我没有改变任何形式的视图,一切都看起来不错。提交按钮的名称为“预览”,表单已提交,但$ _POST数组未填写提交按钮的值。因此,控制器不会继续生成过程的下一个步骤。

public function actionView($id) 
{ 
    $generator = $this->loadGenerator($id); 
    $params = ['generator' => $generator, 'id' => $id]; 

    // ############################################################################### 
    // ### THIS IF STATEMENT IS NOT TRUE BECAUSE $_POST['preview'] IS NOT SET !!! ### 
    // ############################################################################### 
    if (isset($_POST['preview']) || isset($_POST['generate'])) { 
    // ############################################################################### 

     if ($generator->validate()) { 
      $generator->saveStickyAttributes(); 
      $files = $generator->generate(); 
      if (isset($_POST['generate']) && !empty($_POST['answers'])) { 
       $params['hasError'] = !$generator->save($files, (array) $_POST['answers'], $results); 
       $params['results'] = $results; 
      } else { 
       $params['files'] = $files; 
       $params['answers'] = isset($_POST['answers']) ? $_POST['answers'] : null; 
      } 
     } 
    } 

    return $this->render('view', $params); 
} 

有没有人有一个想法是什么原因造成这种情况?我有一种预感,那就是我可以忽略的东西,但是我从来没有将表单中的POST变量发送到服务器的情况。

+0

顺便说一句 - 它不是框架,路由器,控制器等从数组中删除值的情况。价值从一开始就缺失。 – andypotter

回答

0

虚假警报。我发现了这个问题。 Gii视图错误地创建了HTML表单。

相关问题