Cada pieza de conocimiento dentro de un sistema debe de ser expresada en un solo lugar. Desde la perspectiva del desarrollo, esto significa que no deberías escribir las mismas líneas de código en distintos lugares dentro de una misma aplicación, incluyendo no más de una misma plantilla de vista. La lógica de programación que requiere ser repetida deberá ser consolidada en un solo lugar.
Existen un gran número de scripts y librerías de Riby tales como towelie, que pueden ser utilizadas para mejorar el concepto de no-te-repitas dentro del código existente o como se conoce en inglés hacer tu aplicación más-DRY (DRY-ness).
Rails tiene valores base muy marcados para cada aspecto de una aplicación web. Seguir las convenciones, te permite desarrollar aplicaciones de Rails con menos código que en cualquier otro framework para aplicaciones web. Si no deseas seguir las convenciones, también es fácil redefinirlas con Rails.
REST es el mejor patrón de desarrollo para aplicaciones web - organizar tu aplicación mediante recursos y verbos del estándar HTTP es la mejor forma de trabajar.
Rails incluye un framework para pruebas. Tener pruebas confiables ayuda tremendamente para integrar nuevas opciones o bien re-escribir tu código. Cada vez que se crea un modelo o controlador de clases con el generador, también se crearan clases de prueba para ti, sólo para recordarte que debes probar tu código. Es muy recomendable que te familiarices con las diferentes capacidades de Ruby y Rails.
Tu proyecto de Rails contiene muchos scripts y generadores integrados, los cuales te permiten resolver muchas tareas comunes con solo una linea dentro de la consola. Tu puedes iniciar el servidor, migrar una base de datos, ejecutar un test, medir el desempeño y mucho mas con la ayuda de las tareas de Rake y scripts.
Uno de estos script es llamado generate y es usado para crear todo tipo de tareas tales como: Un aplicación de Rails lista para ser ejecutada o una interfaz para crear, leer, actualizar o borrar modelos (scaffold).
Discusión