AYUDA CON CIRRUS


([N1] santiprat) #1

Hola amigos velneadores, estoy incursionando con cirrus en su versión 1.0 y tengo una duda, quizás alguno me pueda ayudar.

tengo el siguiente código

importClass("VQuery");

wApp.cuentasController = {
	index: function(params)
		{
var query = new VQuery(theRoot);
query.setQuery("CIRRUS/CUENTAS");
			if(query.exec()){
				var results = query.result();
				var i = results.listSize();
				var response = [];
				while(i--){
					var item = results.readAt(i);
					response.push[{id: item.fieldToInt("ID"),name: item.fieldToString("NAME")}]	
					}
				return({cuentas: response})
					}
		}
	}

tengo cargadas las rutas como “wApp.router.addRoutes({“resource cuentas”: “cuentas”})”, definida una búsqueda de la tabla de cuentas en dónde el componente de búsqueda es por ID.
y lo que me devuelve desde el navegador es un “undefined”


([N1] Spicer) #2

Hola,

Así de buenas a primeras (y sin mirar mucho porque ahora estoy con otro problema yo, ja, ja), veo dos situaciones:

a) La ruta la tienes definida como “resource cuentas”, con un espacio entre ambas palabras. Eso no va bien con los navegadores; mejor usar “resourceCuentas” o “resource_cuentas”

b) Luego tienes la acción “cuentas”… es decir, “resource cuentas”: “cuentas”. Esto quiere decir que en el controlador buscará la acción “cuentas” y no la tienes definida, porque pusiste index: function (…)
Por tanto, o bien cambias la ruta y pones en vez de cuentas index, o bien cambias el controlador para que la acción sea cuentas en vez de index, pero ambos deben coincidir

Saludos,


([N1] cristianvg2003) #3

Hola,

Asi de primer vistaso lo veo todo bien, lo del “resource” estas declarando un recurso no un end-point especifico (https://github.com/Heavyblade/cirrus/wiki/Router#soporte-rest), la pregunta es como estas llamando lo que quieres desde el browser o desde donde haces las llamadas “/cuentas” ?

un Saludo,