Niestety z tego co wiem to w RoR nie ma czegoś takiego. Jednak merb (konkurencyjny framework, który wg mnie już jest poważną konkurencją dla rails) posiada tzw “parts”, które pozwalają na wydzielanie takich komponentów.
komponent wg wikipedii. Tak jak napisałem, RoR miał aspiracje do tego by obsługiwać (jeśli korzystasz z rails < 2.0 to zostanie utworzony katalog ‘components’) jednak nie wyszło im to za bardzo i nie korzysta się z tego.
Chodź krążą plotki, że zagnieżdżanie kontrolerów jest niewygodne, tak absolutnie nie jest.
Od razu polecam dla każdego takiego zagnieżdżenia zrobić kontroler Base, z którego będą dziedziczyć wszystkie kontrolery zagnieżdżone w tej samej przestrzeni (np Admin::ProductsController < Admin::BaseController, a Admin::BaseController < ApplicationController). A potem ustawiasz odpowiednią autoryzację, filtry w Admin::BaseController (oraz to co wspólne) i wszystko chodzi ładnie.
Komponenty tak rozumiane (autonomiczne elementy serwisu) wyleciały z RoR 2.0 z powodów wydajnościowych. Szkoda, bo sama koncepcja była niezła. Jeśli potrzebujesz modułowości, trzeba się ograniczyć do partiala i (ewentualnie) metod w application_helper