2011-11-01 23 views
6

Estoy desarrollando 2 aplicaciones para 2 clientes por separado, y una 3ra para mí. Las 3 aplicaciones tendrán una libreta de direcciones, correo electrónico y autenticación de usuario. Finalmente, quiero que las aplicaciones se creen "modulares" para que pueda agregar (o eliminar) los módulos a medida que se necesiten.Rails 3.1 - Desarrollo con motores montables

he visto el Mountable Engines Railscast y parece que lo que necesito, pero estoy todavía no está claro en lo siguiente:

  1. ¿Cómo se desarrolla cada módulo motor (autenticación de usuario, correo electrónico, libreta de direcciones) por separado sin una aplicación base común?
  2. ¿Cómo se desarrolla el módulo de la libreta de direcciones cuando requiere la autenticación del usuario, que es un módulo por separado?

Supongo que primero debe desarrollar la autenticación del usuario e incluirla en la aplicación ficticia del módulo del motor, pero me confunden los espacios de nombres del motor.

Puede ser útil tener en cuenta que procedo de un entorno C# y soy nuevo en el desarrollo web.

Respuesta

2

Las personas ya han escrito complementos de autenticación y correo electrónico. Para la mayoría de las aplicaciones, el único trabajo que queda por hacer para esos módulos es la personalización.

Es posible que desee escribir un motor para compartir algunas de las personalizaciones y compartir algunas de las funciones de la libreta de direcciones. En ese caso, puede considerar desarrollar una aplicación de ejemplo que tenga el menor código personalizado posible para definir claramente la API de la libreta de direcciones.

+0

Cuando lo pones así suena simple: P Tienes razón, y toda mi investigación ha comenzado a apuntar a eso. Debería concentrarme en obtener una API decente para cada módulo. Si incluyo el complemento con "gem 'mypath'" en mi Gemfile, y realizo un cambio en el complemento, ¿sabe si el cambio se actualizará automáticamente en la aplicación en la que está incluido? –

+1

Creo que señala un camino que recogerá los cambios a medida que los hace (al menos en lo que se refiere a bundler), pero lo verificaría dos veces. Sin embargo, debido al código de carga/recarga de los rieles, a menudo tendrá que reiniciar su servidor de rieles para poder recoger los cambios a menos que realice algunos cambios de configuración. –

+0

Gracias. Eso tiene sentido. Al menos ahora tengo un lugar para comenzar a investigar más :) –