Как я могу иметь специальный макет в Ruby On Rails 4? Например, я хочу вызвать метод show
из бэкэнд и переднего конца. Проблема в том, что мне нужно определить, когда вызывать каждый макет, например, при вызове URL-адреса domain.com/admin/people/1
Я хочу позвонить в макет backend, но когда я вызываю URL-адрес domain.com/people/1
, я хочу назвать макет переднего конца.Как я могу управлять разным расположением в Rails 4?
1
A
ответ
2
Создать макет в каталоге макетов, то есть в layouts/admin.html.erb
Маршрута отделить контроллеры:
class AdminPeopleController
def show
#do things
render layout: 'admin'
end
end
class PeopleController
def show
#do things
render #default
end
end
И добавить в файл маршрутов:
namespace :admin do
resources :people, controller: :admin_people
end
resources :people, controller: :people
У Вас есть отдельные контроллеры для Люди и администраторы? – stephenmurdoch
нет, я использую один контроллер для всего. Хорошая практика заключается в том, что я отделяю логические бэкэнд и интерфейс? (Люди и административные деятели) – normeno