Я хотел бы иметь классы в своем теге HTML, которые представляют текущий макет, контроллер и действие.
<body class="my_layout controller action">
def body_classes
"layout_#{controller.class.send(:_layout) || :application} #{params[:controller]} #{params[:action]}"
end
Это для стилей CSS.
Я не могу найти способ надежного доступа к информации макета.controller.class.send(:_layout)
получит доступ к макету, но только если он определен в классе с помощью layout :layout
, а не если он определен в вызове рендеринга:
render layout: x || y
Мои макеты могут быть динамическими ...
Как получить доступ к имени макета, когда передано как render layout: layout
?