我在 erb 中有以下代码可以正常工作:
<div id='flash_<%= flash.keys.first.to_s %>'>
<%=h flash[flash.keys.first] %>
</div>
我想把它转换成haml:
#flash_#{flash.keys.first.to_s}
=h flash[flash.keys.first]
但我收到错误:
Illegal element: classes and ids must have values.
这很奇怪,因为存在价值,'flash_' 部分始终存在,即使我这样做了,我也会收到该错误:
#flash_#{nil.object_id}
显然,我在 haml 中的 Ruby 插值出了点问题,但我做错了。根据文档http://haml.info/docs/yardoc/file.REFERENCE.html#ruby_interpolation_ #{} 用于插值 Ruby,它适用于这种情况:
#flash_
#{flash.keys.first.to_s}
但这不是我想要的。
总而言之,我想得到以下输出:
<div id="flash_foo"> blahblah </div>
但也可以是:
<div id="flash_"></div>
如何用haml获得?