我想要一个右侧栏,其中每个页面的内容都会发生变化。
例如,当我在“朋友”页面时,侧栏应显示“新朋友”。
当我在帐户页面时,侧栏应显示最近的活动。
我应该如何处理这个问题以尊重 Rails 设计模式?我听说过 Cells gem,但我不确定是否使用它。
这是一种方法,在您的布局中添加一个命名的收益部分
<div id="main-content">
<%= yield %>
</div>
<div id="side-content">
<%= yield(:side_bar) %>
</div>
然后在您的视图中使用 content_for 将内容放入指定的产量中
# friends view ....
<% content_for(:side_bar) do %>
<%= render :partial => "shared/new_friends" %>
<% end %>
# account view ....
<% content_for(:side_bar) do %>
<%= render :partial => "shared/recent_activity" %>
<% end %>
这要求您明确每个视图的侧栏中显示的内容,
也许让它动态地执行会更好?可能取决于具体情况和您的偏好
也可以看看 -http://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)