2016-07-18 4 views
1

Я пишу виджет, который добавляет поля к форме dinamycally, используя Pjax. Я приказываю, чтобы добавить правила проверки с YiiActiveForm JS, я строю правила на лету, получая правила из атрибутов формы и назначения их использования:Yii2 Pjax и AssetBundle

$('#w1').yiiActiveForm('add', attributeRules); 

и сохранить их в файл, расположенный внутри моего виджета активов/JS /rules.js, на мой метод выполнения:

public function run() { 

     Pjax::begin($this->pjaxOptions); 

     $fields = $this->_listFields(); 

     $this->_setFormRules(); 

     $view = $this->getView(); 
     FofAsset::register($view); 

     echo $fields; 

     Pjax::end(); 

    } 

проблема заключается в том, что она всегда показывает первую версию rules.js (для первого поля), при добавлении второго поля, rules.js содержит только правила для первого поля (добавленного на страницу). Несмотря на то, что файл на widget/assets/js имеет правила для обоих полей. Я уже использую forceCopy и appendTimestamp для своего AssetBundle.

Проблема в том, что файл rules.js не обновляется после вызова Pjax.

Любые идеи?

ответ

1

Я нашел ответ.

Pjax не строить, чтобы загрузить тот же ресурс более одного раза, поэтому мои изменения не работали :)

Каждый день мы узнаем что-то новое.

Я решаю его, используя встроенные js с регистромJs

Смежные вопросы