【发布时间】:2011-04-04 15:25:35
【问题描述】:
我已经在 rails 2 中的许多助手中使用了这种模式,但在 rails 3 中它的工作方式不同。我的目标是让助手方法生成一些包含嵌套内容的 html 标记。这是我想要得到的一个基本示例:
<div class="box">
my content
</div>
在 Rails 2 中,我这样做:
在我的布局文件中,我调用了辅助方法:
<% box_wrapper do %>
<%= yield -%>
<% end %>
帮助方法定义如下:
def box_wrapper
concat <<-EOF.html_safe
<div class="box">
EOF
yield if block_given?
concat <<-EOF.html_safe
</div>
EOF
end
但是在 rails 3 中,当视图被渲染时,它会输出我的整个页面,然后在 box_wrapper 内它会第二次渲染所有页面内容。
我认为我在如何使用助手和产量方面遗漏了一些明显的东西。有什么想法吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3