我有一个基于Rails的网站,有一个基本的两列布局。在右边是一个有不同的侧栏(我们只是说)垂直小部件。根据您访问的页面,可以将小部件包含在内,排除在外,并且可以按不同的顺序排列。用于离:具有多个页面布局的Rails应用程序 - 如何干起来?
主页(应用)
页面内容...
SIDEBAR
- 小窗口的
- 的widget乙
- 的widgetÇ
页码X
页面内容...
SIDEBAR
- 的Widget d
- 小部件
- 的WidgetÇ
Y形
页面内容...
SIDEBAR
- 部件e
- 小部件
- 的Widget乙
- 的WidgetÇ
现在我正在显示特定页面的小部件的方法是不是很干。我为每个页面创建一个布局,然后一遍又一遍地复制和粘贴相同的HTML部分和小部件。对于前:
application.html.erb
<%= render :partial => 'shared/html_header' %>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<%= render :partial => "shared/head" %>
<body>
<div id="outer">
<%= render :partial => 'shared/banner' %>
<%= render :partial => 'shared/nav' %>
<div id="main">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%;">
<tr style="vertical-align:top;">
<td style="width:759px;">
<%= render :partial => 'shared/content' %>
</td>
<td><%= image_tag("spacer.gif", :width => "5") %></td>
<td style="width:252px;">
<%= render :partial => 'shared/widget_a' %>
<%= image_tag("spacer.gif", :height => "10") %>
<%= render :partial => 'shared/widget_b' %>
<%= image_tag("spacer.gif", :height => "10") %>
<%= render :partial => 'shared/widget_c' %>
<%= image_tag("spacer.gif", :height => "10") %>
</td>
</tr>
</table>
</div>
<%= render :partial => 'shared/footer' %>
</div>
<%= render :partial => 'shared/user_voice_widget_script' %>
<%= render :partial => 'shared/google_analytics_script' %>
</body>
</html>
我基本上只是重复这种模式对其他页面布局,但与特定页面的小部件。看起来不太干。
我在想,必须有一个更有效的方法来做到这一点。有什么建议么?