Na podstawie komentarzy do odpowiedzi Toby'ego wydaje się, że chciałbyś mieć aplikacje MVC używane jako komponent w nowej aplikacji. Rails Engines (patrz http://rails-engines.org) zapewnia tę funkcję. Wystarczy zainstalować gem gem i umieścić aplikacje w dostawcy/wtyczkach, a jego moduły/widoki/kontroler są dostępne.
To naprawdę nie jest zgodne z HMVC, w którym kontrolerzy w nowej aplikacji delegują do innych kontrolerów. Ale tak jak Toby, nie widzę tej przewagi.
Co jest ładne o podejściu Engines jest to, że można się jeździć każdy z modeli w wtyczki po prostu dodając wersję modelu do folderu nowe aplikacje app/modelu (to samo odnosi się do widoków i kontrolerów)
Mam nadpisaną aplikację/widoki/układy, aby nadać mojej aplikacji/wtyczce uwierzytelnienia taki sam wygląd jak aplikacja, w której jest ona zawarta.
Dla Rails 3 Railtie zajmuje miejsce silników i jest oficjalnie obsługiwany (i faktycznie używany - Action Mailer jest wtyczką Railtie, ale jeszcze jej nie używałem:
Chec k go na http://edgeapi.rubyonrails.org/classes/Rails/Railtie.html
A nice napisać na to również tutaj http://www.igvita.com/2010/08/04/rails-3-internals-railtie-creating-plugins/
Jakie są różnice/zalety korzystania z wtyczek Railties over Rails? –
Uzasadnienie dla Railtie można znaleźć tutaj http://www.engineyard.com/blog/2010/rails-and-merb-merge-rails-core-part-4-of-6/ – Will
Z witryny Railtie "Developing Rozszerzenie Rails nie wymaga implementacji Railtie, ale jeśli potrzebujesz interakcji ze środowiskiem Rails podczas lub po bootowaniu, to Railtie jest tym, co musisz zrobić w tej interakcji. " – Will