Activeadmin con rails 3.1
Hoy voy a probar la gema activeadmin en mi Ubuntu 10.04 y por supuesto, ya con Rails 3.1 (uso ruby 1.8.7). Esta gema se supone que me hará la vida más fácil a la hora de autentificar con usuarios y generar mantenimientos de modelos.
Según la documentación los pasos son:
- Añadir a Gemfile la línea: gem 'activeadmin'
- Ejecutar bundle.... y aquí es cuando me encuentro el primer problema... bundle nunca termina.
Después de mucho buscar encontré que la solución estaba en añadir otra línea a Gemfile:
gem "meta_search", '>= 1.1.0.pre'
Y vuelvo a ejecutar bundle, si si, tarda, pero ya lo normal. Y sigo con la documentación
- rails generate active_admin:install
Aquí se me presenta el siguiente problema:
/home/ruben2m/.rvm/gems/ruby-1.8.7-p352@rails31/gems/will_paginate-3.0.pre2/lib/will_paginate/finders/active_record.rb:36:in `enable!': uninitialized constant ActiveRecord::Associations::AssociationCollection (NameError)
Esto parece que es debido a que lo que instala la gema activeadmin no es compatible con Rails 3.1. ¿Solución? En GitHub hay una rama de active admin para Rails 3.1, la descargo de aquí, busco donde está la gema activeadmin (hay que buscarla donde indica la primera parte de la ruta del error, en este caso /home/ruben2m/.rvm/gems/ruby-1.8.7-p352@rails31/gems/activeadmin-0.2.2) y sustituyo el contenido.
Si ejecutaramos el rails generate otra vez, nos daría un error con kaminari, por lo que tenemos que añadir a Gemfile
gem 'kaminari'
Ahora ya puedo seguir con la documentación
- rails generate active_admin:install
- rake db:migrate
- rails server
Visito http://0.0.0.0:3000/admin e introduzco el usuario que viene por defecto:
- User: admin@example.com
- Password: password
Para que me aparezca en la página un modelo que ya tenga generado:
- rails generate active_admin:resource NombreDelModelo
Bueno, y por ahora no me ha dado más problemas. Seguiré probando.