Haml用erb过滤器错误地重新发送我的html。有任何想法如何让它生成正确的标记?
此haml标记生成以下HTML
HAML:
%table
%tbody
-items.each do |foo|
%tr
%td
%div
:erb
(<strong><%= foo.name %></strong>)
呈现HTML:
<strong>bar</strong>
<table>
<tbody>
<tr><td><div></div></td></tr>
</tbody>
</table>
宝石资讯
haml(3.1.4)
haml-rails(0.3.5)
答案 0 :(得分:1)
如果你替换它会有所不同:
:erb
(<strong><%= foo.name %></strong>)
with:
%span
(%strong= foo.name)
答案 1 :(得分:0)
我知道这是一个古老的问题-我无法复制op所遇到的错误-但是如果其他任何人遇到类似的错误并且需要解决方案,那么haml现在可以提供#surround辅助程序。>
http://haml.info/docs/yardoc/Haml/Helpers.html#surround-instance_method
对于这个问题,它看起来像:
= surround '(', ')' do
%strong #{foo.name}