扶手:生成唯一的随机数来填充一个CSS类字符串如何?(Rails: Generate Unique

2019-10-16 22:05发布

所以我们可以说,我们有一个导轨与此代码查看:

<h1>Users who have the <%= @title.name %> Title</h1>
<ul>
  <% @title.users.each do |user| %>
    <li><%= user.username %> <div class="rw-ui-container rw-urid-X"></div></li>
  <% end %>
</ul>

而我们想要做的是自动打印该行:

<div class="rw-ui-container rw-urid-X"></div>

右抛开每个用户名的圈抛出的我们,但我们希望每个时间X是不同的唯一的随机数...

这怎么可能实现呢?

Answer 1:

可能是该解决方案可帮助您:1。您可以使用user_id为随机的第一部分X ,以确保其他用户没有它2.第二部分是时间UTC格式设置X每次都不同3.第三部分仅仅是一个非标准随机FUNC。 如果你想你还没有使用它。

<h1>Users who have the <%= @title.name %> Title</h1>
<ul>
  <% @title.users.each do |user| %>
    <li><%= user.username %> <div class="rw-ui-container rw-urid-<%= "#{user_id}#{Time.now.utc.to_i}#{rand(100000)}".to_i %>"></div></li>
  <% end %>
</ul>


Answer 2:

css_arr = ["rw-ui-container rw-urid-1","rw-ui-container rw-urid-2","rw-ui-container rw-urid-3"]

<div class="<%= css_arr.sample %>"></div>


Answer 3:

那么你可以一个新的领域很容易地添加到用户表调用uuid或给它任何你喜欢的名字,并使用分配一个唯一的ID 宝石称为UUID

这有助于确保您有独特X部分,也刷新该值不会改变,你在您的评论的人提

所以在这里你怎么X的代码看起来像

<% @title.users.each do |user| %>
    <li><%= user.username %> <div class="rw-ui-container rw-urid-<%=user.uuid %>"></div></li>
  <% end %>


文章来源: Rails: Generate Unique Random Number for populating a CSS class String How To?