Html 通过rails枚举添加id css

Html 通过rails枚举添加id css,html,css,ruby-on-rails,ruby,Html,Css,Ruby On Rails,Ruby,我想知道我可以通过rails枚举设置id。比如说, <% @products.each_with_index do |product, index| %> <tr id="<% #{index} %>" > . . <% end %> . . 您可以直接将索引分配给id <% @products.each_with_index

我想知道我可以通过rails枚举设置
id
。比如说,

<% @products.each_with_index do |product, index| %>
            <tr id="<% #{index} %>" >
                      .
                      .
<% end %>

.
.

您可以直接将索引分配给
id

<% @products.each_with_index do |product, index| %>
  <tr id=<%= index.to_s %> >
                  .
                  .
<% end %>

.
.
您将字符串插值与Rails标记混合在一起。你应该这样做

<tr id="#{index}">

你也可以

<tr id="<%=index%>">

是的,您应该在后面添加“=” . .
或者

我不喜欢混合使用HTML和ERB标记,而是更喜欢生成标记。此外,rails中还有一个返回有用的唯一ID的方法

<% @products.each do |product| %>
  <%= content_tag :tr, id: dom_id(product) do %>
    ...
  <% end %>
<% end %>

...

根据ruby惯例,这是一个不必要的插值:)@Md.FarhanMemon我只是在说明如何使用它:)顺便说一句,这些不被称为enums。我只想说两句,我发现在实践中,你需要使用一个比索引更独特的id。想象一下,如果您在页面上使用多个模型执行此操作,或者在页面上使用相同的模型执行两次。JavaScript希望ID只出现一次(这就是为什么没有方法
docuement.getElementsById
=D)。同时,在集合中使用产品id而不是其索引可能更好,因为您可能希望再次引用它。无论如何,至少要考虑一个ID,比如“代码> ID=”“< /COD>”。不必调用<代码> toys<代码>,因为<代码>
<% @products.each do |product| %>
  <%= content_tag :tr, id: dom_id(product) do %>
    ...
  <% end %>
<% end %>