Era el scaffold dinámico: una simple orden que generaba automáticamente el ABM de una tabla.
Incluso por aquella época recuerdo también un plugin llamado ajax_scaffold que hacia lo mismo con mas elegancia.
En Rails 2 se extraña esa funcionalidad que... es cierto, mal acostumbraba a los programadores.
Buscando no recuerdo que cosa, descubro esta pequeña joya sobreviviente de Rails 1.2: active_scaffold
En términos generales, y a modo de machete:
rails prueba2
cd prueba2/
script/plugin -v install git://github.com/activescaffold/active_scaffold.git
script/generate model user name:string age:integer
rake db:migrate
script/generate controller user
vim app/controllers/user_controller.rb
----------------------------------------------
Al principio, inmediatamente después del class UserController ... agregar
layout "user"
active_scaffold :user
----------------------------------------------
vim app/views/layouts/user.html.erb
----------------------------------------------
Agregar en el head:
-------------------------------------------------
<%= javascript_include_tag :defaults %>
<%= active_scaffold_includes %>
script/server -p 3002 -d
Listo!Se le puede agregar tablas, al estilo sucio (sobre el motor), o mediante migraciones. Y al igual que el viejo scaffold dinamico, el cambio es inmediato: solo hay que refrescar el browser.
script/generate migration add_nick_and_password_to_user user:string password:string
rake db:migrate
Personalizar: volvemos a abrir el UserController y lo cambiamos por estas líneas que se explican solas:
layout "user"
# active_scaffold :user
active_scaffold :user do |config|
config.label = "Usuarios"
config.columns = [:name, :nick, :created_at]
# list.columns.exclude :password
list.sorting = {:name => 'ASC'}
columns[:name].label = "Nombre #"
#ejemplo util
#columns[:phone].description = "(Format: ###-###-####)"
end
Aquí hay otro vinculo donde figura como personalizarlo:
http://blog.akilles.org/2008/04/17/ruby-on-rails-experimenting-with-activescaffold/#basic
Blogger apesta bastante cuando muestra código fuente. Aquí está el proyecto listo para copiar / pegar los ejemplos: http://www.bunker.org.ar/incubadora/active_scaffold
No hay comentarios.:
Publicar un comentario