簡體   English   中英

Rails:生成唯一的隨機數以填充CSS類String如何?

[英]Rails: Generate Unique Random Number for populating a CSS class String How To?

假設我們有一個包含以下代碼的rails視圖:

<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每次都是不同的唯一隨機數...

如何做到這一點?

可能此解決方案可以為您提供幫助:1.您可以將user_id用作隨機X第一部分,以確保其他用戶沒有它。2.第二部分是UTC格式的時間,每次將X設置為不同。3.第三部分只是一個標准的隨機函數。 如果需要,您無需使用它。

<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>
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>

好吧,您可以輕松地向用戶表調用uuid添加一個新字段,或者給它一個您喜歡的名稱,並使用稱為uuid的gem分配一個唯一的ID。

這有助於確保您在X部分中具有唯一性,並且在刷新時,值不會像您在評論之一中提到的那樣改變

所以這里的X代碼看起來像

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM