【发布时间】:2013-04-22 06:46:30
【问题描述】:
我在 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.
这很奇怪,因为存在 IS 值,'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获得?
【问题讨论】:
-
直到您对 HAML 使用感到满意为止this转换器
-
@prem:谢谢你的链接,它对我很有用。
标签: ruby-on-rails haml string-interpolation