Het gebruiken van een engine kan handig zijn wanneer je aan een applicatie werkt die je in meerdere applicaties hergebruikt. Een voorbeeld hiervan is een CMS. Zo kun je aan een normale site de engine 'CMS' toevoegen en kun je meteen gebruik maken van alle functionaliteiten van het CMS. Daarnaast heb je een centrale plek die makkelijk te updaten is en wat gelijk ook doorgevoerd wordt in alle andere sites.
Om te beginnen maken we een nieuwe engine aan.
rails plugin new cms --mountable
Een engine is namespaced-isolated, dat wil zeggen dat alle bestanden binnen de engine genamespaced zijn. Hierdoor is het mogelijk om vanuit je eigen applicatie alle pagina's aan te roepen op de volgende manier