Convención sobre configuración - moiseserg/rubyWebDev GitHub Wiki
Si se siguen las convenciones adoptadas por Rails, en general no será necesario hacer cambios a las opciones de configuración establecidas por default en Rails. Como lo son 4(https://github.com/moiseserg/rubyWebDev/wiki/Referencias):
Convenciones de nombrado
Por default Active Record usa algunas convenciones de nombrado para realizar el mapeo entre los modelos y las tablas en la base de datos. Rails pluraliza los nombres de las tablas por ejemplo el modelo Pet se almacena en una tabla de nombre pets, así mismo Book mantendrá una tabla de nombre books. La pluralización está diseñada para mantenerse incluso con palabras irregulares del lenguaje inglés (Person - people, Multimedia - multimedium).
Al momento de usar palabras compuestas debe usarse la forma CamelCase para los modelos que consiste en hacer mayúsculas la primer letra de cada palabra. Rails responderá creando tablas con las palabras separadas por espacios.
Modelo | Tabla |
---|---|
Post | posts |
Multimedia | Multimedium |
Deer | Deer |
Mouse | Mice |
Person | people |
Convenciones sobre las columnas de las tablas
Dependiendo del propósito de cada columna:
- Claves foraneas: nombre_de_la_tabla_en_singular_id. Por ejemplo
person_id
, en esta caso Active Record buscará estos campos para crear relaciones hacia otras tablas. - Claves primarias: Por default se crea una columna con un identificador entero llamado
id
para cada tabla. Al momento de hacer las migraciones sin necesidad de especificar, se crea esta columna para cada tabla.
Adicionalmente se crean otras columnas como:
created_at
para llevar el control de cuándo fue creado el registro.updated_at
para llevar el control de cuándo fue modificado por última vez el registro.