我正在寻找一种方法将值传递给可列举的列表,因此我可以为< ul>生成一组列表项。该值应由允许它的项目显示。
以下内容不起作用,但应该有助于说明实现目标。
HAML
%ul
=list_of t('.menu', favorites_count: 15) do |item|
#{item}
YAML
menu:
- new
- favorites ('%{favorites_count}')
- archived
- deleted
注意:最初我的YAML包括< li>字典形式的标签,字符串内部,其中一个包括计数值。但我觉得混合HTML和YAML有点笨拙,如下所示:
menu:
first_item: <li>new</li>
second_item: <li>favorites %{favorites_count}</li>
third_item: <li>archived</li>
fourth_item: <li>deleted</li>
因此寻找一个更清洁的选项,它只会在HAML端呈现标签而不会在YAML中丢弃它们。
答案 0 :(得分:1)
I18n.t
使用与sprintf
非常类似的插值语法,您可以利用这些语法:
%ul
= list_of t(".item") do |item|
= sprintf(item, favorites_count: 15)
我不完全确定这是正确的Haml语法,但你明白了。