【问题标题】:How can I generate a unique dom id for a html tag from model如何从模型中为 html 标签生成唯一的 dom id
【发布时间】:2012-08-02 18:45:38
【问题描述】:

我有一个索引视图,其中包含多个属性的项目的几行。我想用 ajax 更新 items 属性的内容,因此我需要一个唯一的 dom id。有没有可用的辅助方法? 我现在正在做的是:

<span id="<%=  item.id.to_s + "_on_storage"%>">

最好, 菲尔

【问题讨论】:

    标签: ruby-on-rails views helpers


    【解决方案1】:

    一个好的做法是使用 HTML5 数据属性:

    <span data-item-id="<%= item.id %>">
    

    【讨论】:

      【解决方案2】:

      你可以使用

      dom_id(item)
      

      这是一个用于生成 DOM ID 的 ActiveRecord 方法。

      【讨论】:

      • dom_id 是我正在寻找的帮手。但是当我想为模型中的每个属性都有一个 dom id 时,我该怎么办?例如 dom_id(item.attribute_in_the_model)
      • 您可以使用“#{dom_id(item)}_attribute_name”。不过,我确实建议您将类用于属性,而不是 ID,因为类会重复,并且将它们放在类中非常舒服。然后您可以通过 $("#item_343 .attribute_name") 获取对象。非常干净,非常直观。
      • 此外,如果您想要完整的包装标签,其 id 和类集匹配记录,您可以使用 gem record_tag_helper
      猜你喜欢
      • 2015-06-07
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      相关资源
      最近更新 更多