Yii Framework - в главном представлении я не могу добавить CActiveForm, потому что ему нужна модель, когда я устанавливаю модель, ничего не происходит

Я ставлю это на мой взгляд, и я должен добавить <?php $model = new Usuarios; ?> и это работает, но затем фактически не отправляет информацию в базу данных.

Я попробовал другой вид (индексный вид) и без этого он работает: <?php $model = new Usuarios; ?>,

<a class="list-group-item">
    <form role="form">
        <div class="form">
            <?php $model = new Usuarios; ?>
            <?php $form = $this->beginWidget('CActiveForm', array(
                'id' => 'usuarios-form',
                'action' => $this->createUrl("usuarios/create"),
                'enableAjaxValidation' => false,
            )); ?>

            <?php echo $form->errorSummary($model); ?>

            <div style="padding:1px;" class="input-group input-group-sm">
                <span class="input-group-addon">
                    <span class="glyphicon glyphicon-user" style="color:white"></span>
                </span>
                <?php echo $form->textField($model, 'Nombre', array('maxlength' => 128, 'placeholder' => 'Nombre y Apellido')); ?>
                <?php echo $form->error($model, 'Nombre'); ?>
            </div>

            <div class="row buttons" style="padding:4%; color:white ; font-size:1.5vmax; font-family: Signika; border-radius:30px">
                <center>
                    <?php echo CHtml::submitButton($model->isNewRecord ? 'Enviar' : 'Save'); ?>
                </center>
            </div>
            <?php $this->endWidget(); ?>   
        </div>
    </form>
</a>

1 ответ

Решение

Вот как должно выглядеть действие вашего контроллера:

public function actionCreate() {
    $model = new Usuarios;

    if(isset($_POST['Usuarios'])) {

        // Populate the model with values from form
        // These attributes must be set to safe in the model rules() function
        $model->attributes = $_POST['Usuarios'];

        // ->save() will validate the model with the validation rules 
        // in the Usuarios.php model. If you do not want validation, use ->update()
        if($model->save()) {
            $this->redirect(array('view', 'id' => $model->primaryKey));
        }
    }

    $this->render('create', array(
        'model' => $model, // You pass the model to the view page
    ));
}

В вашей модели вам нужно обновить функцию rules(), чтобы принимать поля для сохранения в базе данных:

public function rules() {
    return array(
        array('Nombre', 'safe'),
    );
}
Другие вопросы по тегам