Hola, gracias por tomarse el tiempo de leer esta entrada.
Sucede que tengo un formulario para el registro de usuarios en el cual se tiene que especificar la localidad de la persona (país, departamento y ciudad), para esto conseguí y cargue una base de datos con ciudades en mi proyecto y mediante esta etiqueta intento traer los datos que están en la base de datos al formulario para que los usuarios simplemente elijan la ciudad donde viven.
El problema es que los paises se cargan desde la base de datos pero no habilita los otros select_tag, los de departamento y ciudad.
Siguiendo un ejemplo de listas enlazadas simples para kumbia, procedí a la creación de tres modelos: País, Departamento y Ciudad.
En el controlador usuario_controller.php, cargo los modelos:
public function getDepartamento(){ $this -> set_response('view'); $departamento = new Departamento(); $this -> departamento = $departamento -> buscar($this -> post('pais_id')); }
// Obtiene la lista de ciudades presentes en la BD public function getCiudad(){ // similar a departamentos }
Bueno tienes razón leyendo otra vez me dí cuenta de que no dije cual era el problema, mil disculpas, ahora lo re-edito. Pero bueno, el select_tag de países se trae todos los países desde la base de datos, el problema es que no se activa el siguiente select_tag que carga los departamentos. Ahora bien, la función que se encarga de habilitar el segundo select_tag es esta ubicada en localidad.phtml (partial) y aquí surge otra pregunta, puedo tener mas de una función ajax en el mismo partial, sin que entren en conflicto.
por que iban a entrar en conflicto ? has probado a hacerlo sin ajax evaluando si merece la pena, en velocidad, tiempo y esfuerzo ? yo antes hacia todo con una buena dosis de ajax, pero me di cuenta que era como 10 veces mas lento programando y la aplicacion no ganaba velocidad, incluso perdia estabilidad.
firebug o dragonfly son muy buenas herramientas para hacer debug al frontend considero que es un erro de paso de parámetros, habría que ver el debug de la vista
Hola, gracias por tu ayuda, me tome la tarea de mirar que pasaba con ayuda de firebug y termine dando con el problema el cual era un error en el nombre de la tabla de la base de datos, eso era lo que se tiraba todo.
Bueno ahora tengo otro problema, ya conseguí que se cargue la información de las tablas de la BD a los select_tag, pero pasa que cuando el usuario llena el formulario y selecciona la localidad, cuando se envía el formulario la información de este no se guarda en la BD porque del select_tag no se envía el id seleccionado.
Agradezco cualquier ayuda.
Nota: El select_tag es cargado por medio de ajax, siendo asi el código se carga dinámicamente por lo tanto el el id de la ciudad no se selecciona en el formulario sino en la vista donde se implemente el seleleg_tag, mi pregunta es como enviar ese id al controlador cuando se envía el formulario.
Comentarios
pero cual es el error ?
por que no diagnosticas poco a poco y vas viendo que devuelve cada cosa ?
Bueno tienes razón leyendo otra vez me dí cuenta de que no dije cual era el problema, mil disculpas, ahora lo re-edito. Pero bueno, el select_tag de países se trae todos los países desde la base de datos, el problema es que no se activa el siguiente select_tag que carga los departamentos. Ahora bien, la función que se encarga de habilitar el segundo select_tag es esta ubicada en localidad.phtml (partial) y aquí surge otra pregunta, puedo tener mas de una función ajax en el mismo partial, sin que entren en conflicto.
Nuevamente gracias por cualquier ayuda.
has probado a hacerlo sin ajax evaluando si merece la pena, en velocidad, tiempo y esfuerzo ?
yo antes hacia todo con una buena dosis de ajax, pero me di cuenta que era como 10 veces mas lento programando y la aplicacion no ganaba velocidad, incluso perdia estabilidad.
estuve testeando la función ajax y lo que pasa es que captura el id del país seleccionado pero por alguna razón, no llega a getDepartamento.
Y siguiendo tu consejo estoy mirando como hacer esto con javascript.
considero que es un erro de paso de parámetros, habría que ver el debug de la vista
Bueno ahora tengo otro problema, ya conseguí que se cargue la información de las tablas de la BD a los select_tag, pero pasa que cuando el usuario llena el formulario y selecciona la localidad, cuando se envía el formulario la información de este no se guarda en la BD porque del select_tag no se envía el id seleccionado.
Agradezco cualquier ayuda.
Nota: El select_tag es cargado por medio de ajax, siendo asi el código se carga dinámicamente por lo tanto el el id de la ciudad no se selecciona en el formulario sino en la vista donde se implemente el seleleg_tag, mi pregunta es como enviar ese id al controlador cuando se envía el formulario.