Как использовать макет по умолчанию, если отсутствует файл макета?
У меня есть папка layouts/themes/
, которая содержит темы, но я хочу загрузить тему по умолчанию, если файл не существует.
Я попытался установить rescue_from ActionView:MissingTemplate, with => ...
, но не могу установить макет втаким образом.
Итак, лучшее решение, которое я нашел, это: layout: layout_by_resource
def layout_by_resource
layout_name = "themes/" + current_theme
File.exists?(Rails.root + "app/views/layouts/" + (layout_name + ".html.erb")) ? layout_name : "application"
end
Есть ли лучшее решение для этой цели?