Рельсы 4 объединить 2 контента для вместе?
У меня есть различные страницы, которые нуждаются в нескольких content_for
наверху то есть:
- content_for :title, AppConfig.product['slogan']
- content_for :class, 'brand'
Которые используются в моем макете:
== render 'layouts/top_wrapper'
main[class="view-#{yield(:class)}-wrapper"]
section[class="content-outer-wrapper"]
div[class="row"]
div[class="large-12"]
div[class="content-inner-wrapper"]
div[class="row"]
div[class="large-12 large-centered columns text-center section-title"]
h1
== yield(:title)
div[class="row"]
div[class="large-12 large-centered columns"]
== yield
== render 'layouts/bottom_wrapper'
Мне было интересно, если есть способ объединить их в один content_for?
1 ответ
Решение
Ни за что. content_for
структурирует ваш ввод, чтобы вы не могли передать, например, массив через него. Вы все еще можете сериализовать свои данные, хотя
- content_for :title_and_class, [AppConfig.product['slogan'], 'brand'].join(';')
- slogan, style = yield(:title_and_class).split(';')
но это немного странно.