Условный вывод партиала

Рейтинг: 0Ответов: 1Опубликовано: 25.01.2015

Помогите, пожалуйста, советом.

Есть страничка, которая состоит из основного шаблона и набора партиалов. Одним из партиалов является слайдер. Мне нужно, чтобы слайдер показывался только на главной странице. Проблема в том, что я не понимаю, как это реализовать.

Не хотелось бы ставить условие непосредственно в шаблоне, так как это выносит логику из контроллера.

Вот код шаблона, если нужно:

    <%= render 'layouts/nav_top' %>

    <%= render 'layouts/nav_main' %>

    <%= render 'layouts/slider_head' %>

Ответы

▲ 1Принят
  1. Использовать в шаблоне:

    <%= yield(:slider) if content_for?(:slider) %>

Во вьюхе главной страницы:

  provide(:slider) do .....
  1. Рендерить слайдер в переменную.

Я, обычно, использую первый вариант.