Как узнать в модели имя Actiona?

Как узнать в модели имя Action (a)?

Который ее вызывает.

Потому что мне надо чтобы валидация на Сreate и Update была разной.

Yii::app()->controller->action.

Но для вашего случая, конечно, лучше подойдет использование сценариев.

может вот так ?

Yii::app()-> controller->action

:rolleyes:

Чёто не работает так:


if (Yii::app()->controller->action =='Create') {.....}

Виснет (код в модели)

[b]Здесь же напишу чтобы не открывать новую тему.

Подскажите как сделать:[/b]

У меня задача сделать редактирование галлереи.

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

Проверяю в контроллере на пустые поля картинок, если пусто, то картинку не перезаписываем, если выбрано что-то , то перезаписываем файл с тем же именем что был раньше (берем из базы)

Потом редирект на то же View где все они.

Так вот при редиректе у меня картинка не обновляется, пока F5 не нажмешь,

Я так понимаю что она из кеша берется? как рефрешнуть броузер тогда

в контроллере:

$this->redirect(array(‘menu/admin’,‘id’=>$_GET[‘id’], ‘orders’ =>1));

и вот ее то и надо рефрешнуть после загрузки.

Yii::app()->controller->action возвращает объект CAction, у которого есть свойство id (его имя). Так что получается: Yii::app()->controller->action->id должно работать.

Почему то в модели так не работает.


	if (Yii::app()->controller->action->id =='create')	

	{

		public function rules()

			{

				return array(......),

				);

			}

	}

В модели логика не работает похоже, потому что если вызыватьиз контроллера Yii::app()->controller->action->id… выдает действительно то что надо.

Хорошо, почтитал форум, сделал через сценарии.

А с рефрешем как быть?

Я знаю что есть такая


$this->refresh();

Но как перегрузить страничку после того как редирект сделал?

Может как то так?


$this->refresh(array('menu/admin','id'=>$_GET['id'], 'orders' =>$_GET['orders']));

Ну тоесть параметры как то ей передать?, потому что так не работает:)