TL; DR:如何在一个页面上多次使用相同的布局?所有使用重复布局渲染部分的尝试都会进入第一次使用布局的元素。
快速信息:
使用
Rails 2.3.14
Ruby 1.8.7
我的部分使用 content_for,这对于布局来说非常方便。
基本上,我的布局如下所示:
<div class="header">
<%= yield :modal_header %>
</div>
<div class="body">
<%= yield :modal_body or yield %>
</div>
通常,这就是我使用模态布局的方式:
<% content_for :modal_header do %>
header text / elements
<% end %>
<% content_for :modal_body do %>
body info / settings for object or warning message, etc
<% end %>
这就是我在页面上呈现模式的方式:
<%= render :partial => "section_options", :layout => "modal" %>
效果很好
但
当我在同一页面上尝试呈现另一个模式时:
<%= render :partial => "section_content_options", :layout => "modal" %>
这就是我页面顶部的模式发生的情况(首先出现在 HTML 文档中)
<div class="header">
-- header from second partial --
-- header from first partial --
</div>
<div class="body">
-- body from second partial --
-- body from first partial --
</div>
然后在页面的后面,第二部分的内容应该是:一切都正确呈现......为了这个例子:
<div class="header">
section content options
</div>
<div class="body">
section contents options ... options
lil confirm / cancel buttons
</div>
有没有办法解决这个问题?这种行为也确实与 javascript 绑定相混淆。所以。对。
rails 2.3.14 中的布局是否存在错误?我必须升级到 Rails 3 才能解决这个问题吗?