Необходимо указать идентификатор записи обновления формы MVCForm Agile Toolkit.

Надеюсь простые вопросы, касающиеся Agle Toolkit. В настоящее время с получением кода ниже

Ошибка в ответе AJAX: SyntaxError: Неожиданный токен <

BaseException

ID записи должен быть указан, в противном случае используйте loadAny()

страница \grant.php

<?php
class page_grant extends Page {
    function init(){
        parent::init();

        $saveForm=$this->add('MVCForm');
        $model=$this->add('Model_Grant')->load($_GET['id']);
        $saveForm->setModel($model);

        $saveForm->addSubmit();

        $saveForm->onSubmit(function($saveForm){
            $saveForm->update()->js()->univ()->successMessage('Grant info saved.')->execute();
        });
    }
}

И Model_Grant:

<?php

class Model_Grant extends Model_Table {
    public $table='minigrant';

    function init() {
        parent::init();
        $this->addField('grant_number');
        $this->addField('grant_name');
        $this->addField('uid');
    }
}

Данные загружаются нормально, но не могут сохранить их обратно в соответствии с приведенным выше сообщением об ошибке.

1 ответ

Решение

Вы должны добавить stickyGET в поле id:

<?php
class page_grant extends Page {
    function init(){
        parent::init();

        $this->api->stickyGET('id');

        $saveForm=$this->add('MVCForm');
        $model=$this->add('Model_Grant')->load($_GET['id']);
        $saveForm->setModel($model);

        $saveForm->addSubmit();

        $saveForm->onSubmit(function($saveForm){
            $saveForm->update()->js()->univ()->successMessage('Grant info saved.')->execute();
        });
    }
}

Нашли данные по адресу: http://agiletoolkit.org/learn/tutorial/jobeet/day8

Agile Toolkit действительно нужен ОДИН источник документации с большим количеством примеров, подобных этому, потому что он легко подходит для лучших фреймворков, с которыми я работал.

Если они (@romaninsh) могут сделать документацию лучше, я думаю, что это будет лучше. Я полагаю, что им, вероятно, тоже нужно поменять лицензию на AGPL, но это лично для меня менее важно, так как я работаю над OSS.

Другие вопросы по тегам