Я бы держал их отдельно. Хотя логика, может быть, и сейчас одинакова, в действительности это две разные вещи. Хранение их отдельно поможет вам с безопасностью и позволит вам при необходимости вносить изменения позже, например, вы можете решить, загружая страницу, запрос администратора также должен: включить что-то еще и т.д.
map.resources :pages, :only => [:index, :show]
Ваши волевые представления для каждой пары действие / контроллер, например один в представлении / admin / pages и один в / view / pages. Если эти два кода дублируют код, извлеките его в партиалы и визуализируйте их из обоих.