[英]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.