Мне определили местоположение администраторского контроллера в controllers/admin/admin_controller.rb
Мне также определили местоположение контроллера страниц в controllers/admin/pages_controller.rb
pages_controller.rb
наследовался admin_controller.rb
в routes.rb у меня есть администраторское пространство имен как таковое:
map.namespace :admin do |admin|
admin.resources :pages
end
pages_controller.rb
(Я знаю, как сделать это),index
и show
методы, чтобы быть доступным, чтобы выйти напрямую пользователейВопросы:
pages_controller
для фронтенда или доли методы index
и show
?/admin/pages
или /pages
pages_controller
в /controllers/admin
(где это теперь), или только в /controllers
?Большое спасибо.
Я бы держал их отдельно. Хотя логика, может быть, та же, сейчас это две разные вещи. Их разделение поможет вам в обеспечении безопасности и позволит вам вносить изменения позже, если это необходимо. Например, вы можете решить, что при загрузке страницы запрос администратора также должен: включать что-то еще и т. Д. В маршруты вы можете добавить:
map.resources :pages, :only => [:index, :show]
Your будут представления для каждой пары действие / контроллер, например один в view / admin / pages и один в / view / pages. Если эти два дублируют код, распакуйте его на части и визуализируйте их обоих.