Rails: Selección de menús dinámicos dentro de Active Admin

rubyonrails Actualmente estoy desarrollando un nuevo proyecto de Ruby on Rails,  versión 4 de Rails y versión 2 de Ruby. En esta ocasión quería compartir una parte que he tenido que desarrollar y en la que he encontrado mucha materia pero que no me ha ayudado en esta ocasión demasiado.

El problema

En la parte del backoffice de un portal para la que estoy trabajando para nuestro cliente, estoy utilizando Active Admin. El caso es que esta es una particularidad a la hora de hacer las cosas, en este caso tengo una serie de select independientes de País, Cuidad y Población. Cuando tienes que seleccionar cada uno de ellos individualmente los seleccionas, esto es un poco feo por decirlo de alguna manera. Lo suyo sería una vez que secciones el País, deberían seleccionarse cada una de las provincias y ciudades, en un orden alfabético, después ya si necesitas una provincia concreta, haces la sección de la provincia y automáticamente te selecciona las poblaciones. Una vez dicho esto, parece fácil el desarrollo de la solución, te pones a ver que hay de ejemplos y encuentras muchos recursos unos mejores y otros muy poco útiles. Por eso me he puesto a explicar que solución he desarrollado, por si te encuentras en esta situación tengas un punto dónde poder tener los pasos de la solución y para ello voy a explicarlo lo mejor posible. Por ejemplo he visto un railscasts sobre este tema un poco viejo aunque hay una de pago actualizada, pero lo fuentes están aquí, en stackoverflow también hay mucho pero te dejo algunos de los que he visto, como este y este otro también por si te son de utilidad.
Seguir leyendo

Active Admin, una gema de administración de recursos con RubyOnRails – Primera parte

Ruby on RailsHace relativamente poco, había comentado en Twitter que esta gema sería muy interesante analizarla y/o conocerla por su aportación como panel de gestión y facilidad de desarrollar hasta un punto en el que se nos pueden plantear dilemas de hasta dónde es capaz de llegar  y sobre todo la integración en nuestro proyecto. Voy a comentar mi experiencia de uso de esta gema que ha sido muy interesante y quiero compartir. Lo primero doy por supuesto que trabajas en proyectos RubyOnRails y que ya dispones del entorno de trabajo por si te interesa probarla en tu PC. Te dejo la documentación de ActiveAdmin y el repositorio de GitHub. Como digo es una herramienta que te facilita las cosas, pero como todo, tiene un límite, los inicios es pegarte y pegarte mucho con ella para descubrir funcionalidad, hasta dónde puedes llegar con ella y dónde comienza tu experiencia real para ingeniártelas en incrementar funcionalidades.  Yo te voy a contar mis pasos para que sea un poco más ameno el encuentro con esta Gema.

Primero, lo explicaré sobre un proyecto que no contenga nada en especial para ver el funcionamiento, antes de meternos con los accesos al panel y la construcción de opciones que necesitamos en un proyecto. Arrancamos, primero nos creamos nuestro proyecto RoR con el comando rails new para obtener nuestra estructura y poder modificar los fuentes, el nombre, puedes ponerle el que te guste, pero por dar una idea,  rails new active_admin, con esto ya te crea la estructura que ya conocemos de RubyOnRails. Hagamos una parada en el fichero de Gemfile y fíjate que tengas las gemas incorporadas para que las tengas disponibles, son :

gem ‘activeadmin’ y gem ‘meta_search’

Recuerda ejecutar bundle o bundle install y cuando lo tengamos hecho las instalaciones de nuestras gemas, debemos terminar la instalación de Active Admin con:

rails generate active_admin:install (instalación por defecto y control de acceso por arte de Active Admin)

rails generate active_admin:install –skip-users (instalación sin control de acceso por arte de Active Admin y necesitamos disponer de nuestro propio sistema de sesiones)

Seguir leyendo