@Fly3110
web developer

Как логичнее на rails сделать шаблонизацию сайта?

Всем привет.

Есть проект на рельсах, у сайта которого может быть (должен быть) сильно разный дизайн. Данные всегда одни
Ничего лучше, чем выбирать layout на основании выбранного дизайна я не придумал. Но может есть какой-то более правильный путь?
  • Вопрос задан
  • 755 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vsuhachev
В Рельсах есть массив view_path, в котором указаны пути, по которым по очереди от начала к концу ищется шаблон.

Вы можете воткнуть свой путь в этот массив.

В контроллере (например в ApplicationController)
before_action :select_skin

protected \
def select_skin
  # тут логика по выбору скина, например:
  prepend_view_path "app/views/skins/#{session[:skin]}"
end


И теперь в app/views/skins/my_skin можно создать шаблоны для любого контроллера, в том числе и layout/application.html.erb
Ответ написан
Комментировать
gururuby
@gururuby
Ruby-разработчик
Можно по идее использовать модель данных которая будет описывать ваш layout, чтобы не плодить их, но тут тоже нужно смотреть, что будет подходить с точки зрения легкости добавления изменения шаблона.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы