HY,
我在视图/布局中有一个有2个cols的布局,然后在每个视图中我都有content_for:main_col和content_for:side_col。问题是我在content_for:side_col
中有超过5个具有相同内容的视图你对如何做到这一点有了更好的想法吗?谢谢
答案 0 :(得分:5)
将其放入局部并在需要的位置渲染部分。
应用/视图/共享/ _sidebar.html.erb 强>
<% content_for :sidebar do %>
Hello, I am your neighbourhood friendly sidebar!
<% end %>
应用/视图/某处/ else.html.erb 强>
<%= render :partial => "shared/sidebar" %>
答案 1 :(得分:0)
如果你需要将变量传递给你的部分(我猜你做的那样),使用帮助器这是一种非常巧妙的方法来干你的代码:
# 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 %>