CMenu и refresh

Друзья, прошу помочь новичку разобраться с таким вопросом:

Есть главное меню, которое настраивается через layouts/main.php. Предполагается что видимость одного из элементов будет определяться в зависимости от текущей роли юзера:


<?php $this->widget('zii.widgets.CMenu',array(

			'items'=>array(

...

array('label'=>'Activate account','url'=>array('/registration/codeactivation'),

                    'visible'=>Yii::app()->user->checkAccess('allowactivation')....

...



В контроллере происходят действия, которые меняют роль и право на allowactivation исчезает. Хочу что бы при этом и соответствующий пункт меню прятался. Если после изменения прав в контролере делать

RegistrationController.php


$this->redirect(array('site/index'));

то все отлично и меню отображается уже по другому. Но если вместо редиректа делаю render нового view и затем refresh, то меню не меняется:

RegistrationController.php


$this->render('linkactivation');

$this->refresh();



При этом в мануале про CController.refresh английским по белому сказано что метод CController.refresh аналогичен нажатию кнопки "обновить" в браузере. Не аналогичен - при нажатии на рефреш браузера меню обновляется.

Может надо как-то объект CMenu рендерить перед refresh отдельно? Но как получить к нему доступ из контроллера?

Буду благодарен за подсказку

значит get параметры передаются,

смотрите на requeststring