HY,滑轨:DRY在视图
我在视图/布局,其具有2个COLS,然后在每一个视图我有content_for的布局:main_col和content_for:side_col。问题是,我有在content_for相同的内容超过5次:side_col
您对如何做一个更好的主意感谢
HY,滑轨:DRY在视图
我在视图/布局,其具有2个COLS,然后在每一个视图我有content_for的布局:main_col和content_for:side_col。问题是,我有在content_for相同的内容超过5次:side_col
您对如何做一个更好的主意感谢
把它放进一个部分和渲染部分,你需要它。
应用程序/视图/共享/ _sidebar.html.erb
<% content_for :sidebar do %>
Hello, I am your neighbourhood friendly sidebar!
<% end %>
应用程序/视图/地方/ else.html.erb
<%= render :partial => "shared/sidebar" %>
如果你需要传递变量你的部分(我猜你会这样做),使用助手这是一个非常干净的方式来干你的代码:
# 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 %>
谢谢,但现在我的页面完全由javascript生成 – 2011-08-24 19:01:27
是的,这是一个好主意! 使用部分 中的content_for非常感谢! – 2010-04-07 21:16:19