在HAML中,最简单的递增ID的方法是什么?

4
    -@things.each do |thing|
      %div.thing
        = thing

我看过几种不同的技术。但是对于上面的HAML模板,我希望每个thing都有一个唯一的ID,从1到n+1个thing。有什么最好的方法可以动态地为所有单独的things增加ID?

例如:对于n个things,我希望HTML看起来像这样。

<div class='thing' id='1'>
<div class='thing' id='2'>
...
<div class='thing' id=n+1>

1
ID不能以整数开头,这是无效的。 - sevenseacat
你可以在末尾加上递增的ID号,例如以thing开头,然后可以使用thing1thing2thing3等。 - Patrick Evans
@PatrickEvans 那样可以。但你确定 ID 的事情吗?我正在加载一个页面来测试它,现在这个<div class="thing" id="1">很好用。 - Keith Johnson
@KeithJohnson 请参考这个问题了解可接受的HTML id值。 - Patrick Evans
@PatrickEvans 好链接,谢谢! - Keith Johnson
2个回答

1
-@things.each_with_index do |thing,index|
  %div.thing{:id => "thing#{index}"}
    = thing

是的,谁给这个解决方案点了踩就需要解释一下。我认为这个解决方案没有任何问题。 - Paul Richter

1

dom_id 这样的东西可以帮助你生成 HTML 元素的唯一 ID。它还可以解决以数字开头的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接