自定义助手与块

问题描述 投票:0回答:1

我正在使用Middleman的当前版本4.3.3。

我想定义一个接受块的自定义帮助器。为简单起见,这里是wrap_me的一个荒谬的例子,它用给定的标签包装块内容。

应该可以使用capture_html provided by Padrino(在Middleman文档中明确提到)实现这一点:

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

在再培训局使用:

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

现在,这会在tilt-2.0.9 / lib / tilt / template.rb的第274行引发一个SyntaxError,它试图评估一个字符串。看来,捕获超越了“结束”。

我在这做错了什么?如果Tilt阻止助手有阻挡,如何使用capture_htmlconcat_content

谢谢你的帮助!

(我会在Middleman forum问同样的问题。)

erb middleman tilt middleman-4
1个回答
0
投票

显然,在使用块时,必须删除等号。以下作品:

<% wrap_me('span') do %>
  Hello
<% end %>
© www.soinside.com 2019 - 2024. All rights reserved.