2011-11-01 19 views
6

Sto sviluppando 2 app per 2 client separati e una terza per me stesso. Tutte e 3 le app avranno una rubrica, e-mail e autenticazione utente. Infine, voglio che le app vengano create "modulari" in modo da poter aggiungere (o rimuovere) i moduli quando sono necessari.Rails 3.1 - Sviluppo con i modelli montabili

ho guardato il Mountable Engines Railscast e sembra che quello che mi serve, ma io sono ancora poco chiare su quanto segue:

  1. Come si fa a sviluppare ogni modulo motore (autenticazione degli utenti, e-mail, rubrica) separatamente senza un'applicazione di base comune?
  2. Come si sviluppa il modulo della rubrica quando richiede l'autenticazione dell'utente, che è un modulo separato del tutto?

Suppongo di aver sviluppato prima l'autenticazione dell'utente e di includerla nell'app fittizia del modulo motore, ma mi confondo con il namespace del motore.

Potrebbe essere utile notare che provengo da uno sfondo C# e sono nuovo allo sviluppo web.

risposta

2

Le persone hanno già scritto i plugin di autenticazione e di posta elettronica. Per la maggior parte delle app, l'unico lavoro rimasto da fare per questi moduli è la personalizzazione.

È possibile scrivere un motore per condividere alcune delle personalizzazioni e condividere alcune funzionalità della rubrica. In tal caso, puoi considerare di sviluppare un'app di esempio che abbia il minor numero di codice personalizzato possibile per definire chiaramente l'API della rubrica.

+0

Quando lo metti in questo modo sembra semplice: P Hai un punto, però, e tutte le mie ricerche hanno iniziato a puntare a questo. Dovrei concentrarmi nell'ottenere un'API decente in esecuzione per ogni modulo. Se includo il plugin con "gem 'mypath" "nel mio Gemfile e apporto una modifica nel plugin, sai se la modifica verrà automaticamente aggiornata nell'app in cui è inclusa? –

+1

Penso che tu punti ad un percorso che raccoglierà le modifiche mentre le fai (almeno per quanto riguarda il bundler) ma farei un doppio controllo. Tuttavia, a causa del caricamento e del caricamento del codice dei binari, è spesso necessario riavviare il server dei binari per poter rilevare le modifiche, a meno che non vengano apportate alcune modifiche alla configurazione. –

+0

Grazie. Ciò ha senso. Almeno ora ho un posto dove iniziare a cercare ulteriormente :) –