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变量发送到服务器的情况。
顺便说一句 - 它不是框架,路由器,控制器等从数组中删除值的情况。价值从一开始就缺失。 – andypotter