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.