rails 4 объединяет 2 содержимого для together?

#ruby-on-rails #ruby-on-rails-4 #slim-lang #content-for

#ruby-on-rails #ruby-on-rails-4 #slim-lang #содержимое-для

Вопрос:

У меня есть разные страницы, которым нужно несколько 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(';')
  

но это немного странно.

Комментарии:

1. это то, о чем я думал. спасибо за подробный ответ, хороших выходных.