我是yii2 begginer,当我试图学习activeform时,出现了问题。
这是我的控制器
class RoomController extends Controller
{
public function actionCreate()
{
$model = new Room();
$modelSave = false;
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
}
return $this->render('create', ['model' => $model,'modelSaved' => $modelSave]);
}
}
这是我的观点
<?php if($modelSave) { ?>
<div class = "alert alert-success" >
Model ready to be saved!
</div>
<?php } ?>
<?php $form = ActiveForm::begin(); ?>
<div class="row">
<div class = "col-lg-12">
<h1>Room Form</h1>
<?= $form->field($model,'floor')->textinput()?>
<?= $form->field($model,'room_number')->textinput() ?>
<?= $form->field($model,'has_conditioner')->checkbox() ?>
<?= $form->field($model,'has_tv')->checkbox() ?>
<?= $form->field($model,'has_phone')->checkbox() ?>
<?= $form->field($model,'available_form')->textinput() ?>
<?= $form->field($model,'price_per_day')->textinput() ?>
<?= $form->field($model,'description')->textarea() ?>
</div>
</div>
<div class="form-group">
<?= Html::submitButton('create',['class'=>'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
当我检查它是否有效时 ErrorException显示:
PHP注意 - yii \ base \ ErrorException 未定义的变量:modelSave
我试过调试,但我不知道为什么$ modelSave无法发送到视图“creat”。
答案 0 :(得分:3)
你没有按名称调用变量,你应该尝试检查$ modelSaved,因为这是你给它的名字
替换
<?php if($modelSave) { ?>
通过
<?php if($modelSaved) { ?>
答案 1 :(得分:3)
你测试
<?php if($modelSave) { ?>
但在你的渲染中你有
return $this->render('create', ['model' => $model,'modelSaved' => $modelSave]);
使用
<?php if($modelSaved) { ?>