带有块的自定义助手



我正在使用中间人的当前版本4.3.3

我想定义一个接受块的自定义助手。为了简单起见,以下是wrap_me的毫无意义的示例,它将块内容与给定标签包裹起来。

应该可以使用Padrino提供的capture_html实施(中间人文档中明确提到):

module CustomHelpers
  def wrap_me(tag, &block)
    captured = capture_html(&block)
    concat_content "<#{tag}>" + captured + "</#{tag}>"
  end
end

在ERB中使用:

<%= wrap_me('span') do %>
  Hello
<% end %>

现在,这在tilt-2.0.9/lib/tilt/template.rb的第274行上提出了一种语法,该线路试图评估字符串。看来,捕获量超出了"结束"。

我在这里做错了什么?如果倾斜阻止助手拥有块?

,如何使用capture_htmlconcat_content

感谢您的帮助!

(我将在中间人论坛中提出相同的问题。)

显然,当使用块时,必须删除相等的符号。以下工作:

<% wrap_me('span') do %>
  Hello
<% end %>

最新更新