Rails переопределяет макет контроллера в геме - PullRequest
0 голосов
/ 02 апреля 2011

Я использую гем, который добавляет движок в мое приложение Rails с маршрутами, которые отображают фрагменты html, используя макет приложения по умолчанию. Я хочу, чтобы контроллер в этом драгоценном камне использовал другое расположение. Есть ли способ, которым я могу добавить код в инициализатор, который будет динамически заставлять контроллер в гем всегда использовать макет. Например. я могу добавить что-то вроде следующего кода (который не работает) в инициализаторе, предполагая, что полное определение SampleController определено в геме, который я использую?

class SampleController
  layout 'my_layout'
end

Я знаю, что вы можете вызвать class_eval или instance_eval для методов класса и экземпляра, но как переопределить этот тип кода инициализации?

1 Ответ

1 голос
/ 02 апреля 2011

Если вы создадите 'sample.html.haml' (или любой другой язык шаблонов) в вашем каталоге раскладок, он будет использоваться вместо application.html для SampleController.

http://guides.rubyonrails.org/layouts_and_rendering.html#finding-layouts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...