Подтвердить что ты не робот

Как установить конкретный макет для всех контроллеров в классе или модуле. (Rails 3)

У меня есть следующие контроллеры в классе Admin (или модуле?)

class Admin::PostsController < ApplicationController
  layout 'admin'
  # controller methods...
end

class Admin::CommentsController < ApplicationController
  layout 'admin'
  # controller methods...
end

Как я могу определить макет в одном месте для этих контроллеров в классе Admin? Нужно ли мне создать новый файл для класса Admin и определить его там? У меня такое чувство, как это (пробовал, но не работал).

class Admin < ApplicationController
 layout 'admin'
end

В настоящее время все контроллеры, облаченные в класс администратора, расположены "app/controller/admin/". Если мне нужно создать файл класса администратора, если он находится внутри этой папки, а также в том, что указано выше? Или это решение супер просто, и я об этом думаю?

4b9b3361

Ответ 1

Попробуйте создать класс BaseController, например, затем добавьте другие контроллеры, чтобы использовать его:

class Admin::BaseController < ApplicationController
  layout 'admin'
end

Тогда у вас будет:

class Admin::PostsController < Admin::BaseController
  # controller methods...
end