Рельсы: СУХИЕ во взглядах - PullRequest
0 голосов
/ 08 апреля 2010

Hy,

У меня есть макет в представлениях / макете, который имеет 2 столбца, а затем в каждом представлении у меня есть content_for: main_col и content_for: side_col.Проблема в том, что у меня более 5 просмотров с одинаковым содержимым в content_for: side_col

У вас есть идея, как это сделать? Спасибо

Ответы [ 2 ]

5 голосов
/ 08 апреля 2010

Поместите его в частичное и визуализируйте его там, где вам нужно.

приложение / просмотров / Shared / _sidebar.html.erb

<% content_for :sidebar do %>
  Hello, I am your neighbourhood friendly sidebar!
<% end %>

приложение / просмотров / где / else.html.erb

<%= render :partial => "shared/sidebar" %>
0 голосов
/ 20 августа 2011

Если вам нужно передать переменные в ваши партиалы (что, я полагаю, вы делаете), используйте помощника, это очень аккуратный способ высушить ваш код:

# app/views/shared/_side_col.html.erb
<% content_for :side_col do %>
  <ul>
    <% menu_items.each do |item| %>
      <li><%= item %></li>
    <% end %>
  </ul>
<% end %>

# app/helpers/application_helper.rb
def side_col(menu_items)
  render 'shared/_side_col', :menu_items => menu_items
end

# app/views/your/view.html.erb
<%= side_col your_menu_items_for_this_view %>
...