[Ror-es] Saludos y preguntas.

Xavier Noria fxn at hashref.com
Tue Aug 1 09:16:27 GMT 2006


On Aug 1, 2006, at 11:03 AM, Jorge Calás Lozano wrote:

> Hola, soy nuevo en RoR y en el foro, he estado haciendo algunas  
> cosillas sencillas de las que vienen en los tutoriales y ahora  
> quiero ver si me meto a hacer una cosa seria para un proyecto del  
> trabajo. El asunto es que tengo una base de datos antigua en SQL  
> server, con la que trabaja una aplicación en VS6.0 y necesito hacer  
> una interface web solo para algunas funciones, por lo que hacer  
> cambios en la DB no me es posible. El problema me viene cuando:
>
> Los nombres de las tablas no cumplen el estandar para RoR  
> (Empleados, Facturas, etc al menos no en todos los casos)

Para cada clase modelo puedes usar set_table_name para indicar  
explicitamente el nombre de la tabla a la que corresponde un modelo:

   class LegacyModel < ActiveRecord::Base
     set_table_name 'TBL_EMPLEADOS'
   end

Si por casualidad tuvieras el convenio de Rails excepto un prefijo o  
sufijo puedes poner esto en environment.rb

   ActiveRecord::Base.table_name_prefix = 'TBL_'

y hay tambien un suffix. De eso modo tu modelo se puede llamar  
Empleado en vez de TblEmpleado.

> Los campos de Id tampoco cumplen el estardar RoR

Para eso esta set_primary_key y tambien hay atajos por si el convenio  
es nombre_de_tabla_id:

   ActiveRecord::Base.primary_key_prefix_type  
= :table_name_with_underscore

o directamente el nombre de la tabla

   ActiveRecord::Base.primary_key_prefix_type = :table_name

Por ejemplo, el primero funciona si la tabla TBL_EMPLEADO tiene  
primary key tbl_empleado_id. Con esa configuracion no hace falta usar  
set_primary_key mas que en las excepciones, estamos cmabiando las  
reglas de AR globalmente.

> Tengo caracteres extraños que me causan errores en los scaffold con  
> los que he podido trabajar.

Para eso es posible que necesites ajustar el caracter encoding de la  
base de datos y el Content-Type de la respuesta HTTP. Este tema ha  
salido alguna vez en la lista, si buscas "Content-Type" en los  
archivos te saldran mensajes que pueden ayudar.

> Quisiera saber si hay alguna documentación sobre como manejar estas  
> cosas. O si alguien me puede ir dando un "norte" para saber como  
> guiarme.

La referencia ahi es la documentacion de ActiveRecord::Base en http:// 
api.rubyonrails.com. El libro Rails Recipes (disponible en PDF) trata  
ese tema en una receta..

> Otro tema que tengo es que necesito hacer que las páginas sean  
> accesibles solo a los usuarios que tienen los permisos, por lo que  
> necesitaré autorización y autenticación (viceversa), alguna pista  
> sobre esto?

Delega en un plugin como acts_as_authenticated y usa filtros en los  
controladores para implementar eso DRYmente.

-- fxn





More information about the Ror-es mailing list