Dentro de tu url sería mejor que en vez de array(URL), le indicaras lo siguiente:
'url'=>Yii::app()->createURL('contactos/createRel',array('id'=>4)),
De esta manera identificas mas fácil el paso de parámetros en la misma url lo puedes usar via post con php normal y con ajax al igual te aparece el parametro que estas enviando te recomiendo que programes con el debbugeador de firefox o si sabes usar el del chrome con ese y asi veas como pasan las variables, aunque te recomiendo que crees tus métodos en un js utilices javascript en metodos o con ajax en el mismo archivo javascript, yii cuanta con una gran facilidad de manejo de jquery te pondre un ejemplo con un combo
echo CHtml::dropDownList(
'POST[NAME]',
//lo que pongo como post es lo que siempre viaja en el post asi ese texto el que este el name ya sabes a lo que //me refiero
$model->variable,
//$model->variable es la variable que recibira el combo de acuerdo a la DB
array(1=>"Valor",1=>"Valor2"),
array('empty'=>array(NULL=>'-- Seleccione --'),
//iniciemos con javascript o ajax de acuerdo a como lo programes en tu .js
'onChange'=>"Combos({'id':'Prueba_id_txt',
url:'".Yii::app()->createUrl('Controlador/Método a viajar',array('tipo'=>3))."'})"
)
);
/*
Nota que estoy usando la propiedad OnChange de html en ese combo cuando seas seleccionado has esto y despues de la asignación indico un método llamado "COMBOS", este es el nombre de mi método a usar en mi archivo .js, ahora fijate que tengo una variable que se llama id y otra que se llama url y las tengo dentro de llaves, esto es paso de parametros mediante arreglos en javascript
*/
//Código javascript usando jquery
function Combos(params)
{
//el método recibe una variable que se llama params que ahi trae mi arreglo enviado desde el combo para poder //obtener las variables enviadas del combo solo es necesario con esto
//params['miVariable'] por ejemplo
var idCombo = document.getElementById(params['id']);
//en idCombo ya tengo mi id enviado de ese combo, ahora fijate como obtengo la url a viajar
if (params['url'] != undefined) {
jQuery.ajax({'type':'POST',
'url':params['url']
});
}
//Con eso ya tienes tu id del combo mas tu url pero si quieres concatenar en js un id a pasarla por la url es //con el simbolo +
if (params['url'] != undefined) {
jQuery.ajax({'type':'POST',
'url':params['url']+'&id='+idCombo
});
}
}
Si te fijas ya pasamos dos variables en un arreglo por un metodo llamado Combos, depende de como lo indiques para hacerlo generico osea que siempre sea reutilizable y dinámico y no tengas que andar creando varios métodos, esto aplica mas fácil a los datos enviados desde indicaciones de propiedades de html pero al iwal la manera que lo intentas hacer es correcta pero falta definirla aún mas nada mas es como pases las cosas y dentro del metodo al que va a viajar que deseas que haga, ojala te sirve el ejemplo saludos.