我正在使用中间人的当前版本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_html
和concat_content
?
感谢您的帮助!
(我将在中间人论坛中提出相同的问题。)
显然,当使用块时,必须删除相等的符号。以下工作:
<% wrap_me('span') do %>
Hello
<% end %>