Como usar registerScript()?

Hola a todos de nuevo, ayer pregunté en el foro inglés (porque era urgente y alli responden bastante rapido ajaj) como mostrar un alert desde el controller (lo necesito para a la hora de eliminar en el actionDelete si no se puede que me lo muestre, que no se quede pensando). Me dijeron muy rapidamente que tenia que usar registerScript, y bien, lo usé pero sin ningun resultado… el firebug me muestra:

Fatal error: Call to undefined method registerScript() in D:\xampp\htdocs\…

Aquí dejo el código por si os sirve:




public function actionDelete($id)

	{

		if(Yii::app()->request->isPostRequest)

		{

			// we only allow deletion via POST request

			//$this->loadModel($id)->delete();

			registerScript('test', 'alert("test");', 4);

			// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser

			if(!isset($_GET['ajax']))

				$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));

		}

		else

			throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');

	}



Espero vuestra respuesta. Gracias y un saludo,

s0mk3


Yii::app()->clientScript->registerScript('test', 'alert("test");', 4);

Gracias por tu rápida respuesta, ahora no me da ningún error, pero no me aparece el alert :S:S, investigaré un poco más, gracias de nuevo por tu ayuda, un saludo.

Saludos.

Imagino que ya lo solucionaste, pero para quien pueda interesar, lo que sucede es que no le estas indicando la ruta completa donde tienes el archivo js, por lo tanto no ejecuta nada ya que no encunetra nada, por defecto le estas diciendo que busque en la raiz, y si no lo tienes alli no ejecuta nada como ejemplo dejo una forma de registrar los Scripts




 Yii::app()->getClientScript()->registerScriptFile(Yii::app()->baseUrl . '/js/myscript.js', CClientScript::POS_END);



En este ejemplo le estamos indicando toda la direccion URL de donde esta alojado el script a ejecutar.