2010-01-26 8 views
6

Estoy empezando a aprender Ruby on Rails. Tengo una aplicación en mente que me gustaría crear, pero sé que voy a tener que repetir muchas cosas que ya se han hecho un millón de veces (como autenticación de usuario, etc.).Plantillas de aplicación de rieles

Acabo de enterarme de las plantillas de rieles. Por lo que entiendo, puede usar una de estas plantillas para crear una nueva aplicación de rieles y configurar muchos aspectos básicos. ¿Dónde puedo encontrar algunas de las plantillas más populares y debería usar una de ellas?

Respuesta

7

Andrew, si usted está comenzando a aprender y RubyOnRails tener una aplicación en mente, te sugiero que NO use cualquier plantilla y hágalo a mano.

Las plantillas de rieles principalmente extraen gemas y otras dependencias externas (complementos) en su aplicación. El principal beneficio de las plantillas es que las personas que construyen tantas aplicaciones de Rails con tanta frecuencia deseen obtener un bootstrap realmente rápido.

Aprenderá más y se sentirá mucho más seguro acerca de todo el proceso si elige conscientemente los complementos/gemas que necesita y los agrega progresivamente a su aplicación.

Devise (gema de autenticación popular) va tan lejos como para decir que, si estás comenzando con la aplicación Rails, NO deberías usarla.

1

Jeremy McAnally mantiene una colección diversa aquí: http://github.com/jm/rails-templates/

No creo que hay alguna balas de plata, pero muestran una gran cantidad de técnicas que permiten a las plantillas.

1

Hay varias maneras de extender una aplicación Rails y/o iniciar uno fuera. Usted ha mencionado solo uno de los cuatro grandes. Los otros son:

  • plugins
  • Motores
  • Gems
  • plantillas

Las plantillas son generalmente utilizados para iniciar una solicitud, pero si se diseña correctamente, puede utilizarlos para ampliar uno. Por ejemplo, muchas plantillas de stock ayudan a configurar un repositorio de código, instalar algunos plugins/gems y quizás arreglar un poco el diseño para que no tenga que hacerlo. Por supuesto, generalmente hará la mayoría de estos cuando empiece un proyecto. En nuestra empresa (3 desarrolladores) creé una plantilla que configura nuestros entornos de desarrollo y producción, repositorios, seguimiento de proyectos. Aquí está mi plantilla stock favorita: http://github.com/lhoeg/app_lego/network (El original no se ha hecho mucho trabajo en él desde hace tiempo, y creo que este es el mejor tenedor que hay ahora)

plugins y gemas son más o menos convirtiendo en sinónimo y no hay ya no hay razón para que las personas creen complementos, ya que las gemas son la forma más estándar de Ruby para la funcionalidad del paquete. En general, usará complementos para agregar bits de funcionalidad muy específica a su aplicación. Esto puede ir desde agregar autenticación de usuario, hasta calendarios, agregar ubicaciones y mapear a su aplicación. La mayoría de los complementos que he utilizado amplían ActiveRecord o la base de datos de la aplicación. Si el complemento viene con vistas, controladores o modifica las tablas de la base de datos, generalmente viene con un generador. Un buen ejemplo es el generador del complemento Restful Authentication. Una lista relativamente buena de http://agilewebdevelopment.com/

Los motores son los reyes de la modularidad. Por lo general, proporcionan mucha más funcionalidad que los complementos. Mientras que los plugins y las gemas en general extienden Rails, los motores tienen la intención de extender su aplicación agregando un conjunto completo de vistas, controladores y modelos. Por lo tanto, los motores son aplicaciones integrales de Rails que se empaquetan en una pequeña caja ordenada que puede colocar en su aplicación y agregar al instante una gran cantidad de funcionalidades. También hay un directorio Engines en http://agilewebdevelopment.com/ pero como verá, no hay muchos.

Espero que esto ayude!

Berns

2

Aquí hay una respuesta más actual que se aplica a Rails 3 (las otras respuestas son todas de enero de 2010).

Después de jugar con plantillas de aplicaciones de edición durante unos meses, he descubierto que puede ser un dolor de cabeza para ensamblar y mantener una plantilla de aplicación. Ayuda tener una colección de "recetas" que se pueden mantener individualmente y luego ensambladas en una plantilla de aplicación.

estoy usando el

rails3_devise_wizard

que es una versión de la gema RailsWizard con recetas personalizadas para una aplicación de arranque inventar.

Lo he utilizado para crear dos plantillas de aplicación:

Rails 3 + Devise + RSpec + Cucumber Application Template

Rails 3 + Devise + RSpec + Cucumber + Mongoid Application Template

que generan el siguiente ejemplo aplicaciones

Rails 3 + Devise + RSpec + Cucumber Example App

Rails 3 + Devise + RSpec + Cucumber + Mongoid Example App

y cada uno tiene tutoriales detallados que muestran cómo están construidos:

Rails 3 + Devise + RSpec + Cucumber Tutorial

Rails 3 + Devise + RSpec + Cucumber + Mongoid Tutorial

0

Hemos desarrollado una plantilla de aplicación Rails.

https://github.com/agilie/Rails-Application-Template

Por ahora contiene las pruebas, implementar funcionalidades de generación de documentación, sidekiq, Redis y mucho otras gemas y esas cosas. Es completamente personalizable y puede mejorarlo fácilmente según sus necesidades. Siéntase libre de copiar y hacer algunas solicitudes de extracción.

Cuestiones relacionadas