保存记录时在rails中创建唯一ID

用户1983

我正在 Rails 应用程序中执行批量操作。在我的应用程序中,我正在从 UI(在复选框中)选择 mac 地址以获取所选 mac 地址的状态并将结果保存到 db。现在我必须在之后显示所选 mac 地址的最后执行详细信息获取状态。为此,我需要为每次执行保存一些唯一的 id。在需要存储在 DB 中的结果下方。每当我执行时,id 应该是唯一的。如何在 rails 中创建唯一的 id?如果 db 中已经存在唯一 id,则必须为每次执行创建一些随机数。

MacAddress    Status    id

6A:56:78:88   Online     1

78:88:98:90   Offline    1

//Next Execution
6A:56:78:88   Online     2

78:88:98:90   Online      2
纳维德·法尔加德

Id 是保留名称,您不能将其作为列名。默认情况下,您保存的任何记录都将获得唯一 ID,因此您无需担心这一点。Produc.create(mac_address: "6A:56:78:88", status: "Online")将创建具有唯一 ID 的新记录。Mac 地址已经具有唯一的引用值,因为没有两个设备具有相同的 mac 地址(或至少不应该是),因此查找记录Product.find_by(mac_address: "6A:56:78:88")将为您提供正确的记录。

如果您想控制要保存为主键的 id 号,那么这可能是一个很好的解决方案:

unique_id = rand(2**32..2**64-1) 
while !Product.where(mac_address: unique_id).blank?  do
  unique_id = rand(2**32..2**64-1)
 end
new_product = Product.create(id: unique_id, mac_address: "6A:56:78:88", status: "Online")

如果要将唯一代码生成为字符串并对其进行索引,则:

unique_id = SecureRandom.urlsafe_base64
new_product= Product.create(id: unique_id, mac_address: "6A:56:78:88", status: "Online")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在保存记录时在 TYPO3 extbase 扩展中创建 pdf

来自分类Dev

保存记录并使用新值时不会在 rails 中更改

来自分类Dev

Rails:根据同级记录创建唯一的自动增量ID

来自分类Dev

Orchard 1.8-具有唯一字段的保存记录

来自分类Dev

更新OleDb时未保存记录

来自分类Dev

Rails-创建操作不会在数据库中保存记录

来自分类Dev

在Laravel 4中批量保存记录?

来自分类Dev

在Rails模型中发生回滚时如何保存记录

来自分类Dev

在rails中保存记录时出现couter_cache错误

来自分类Dev

Rails-保存记录时自动更新外键

来自分类Dev

Ember.js错误:使用ember-data保存记录时找不到'id'的模型

来自分类Dev

在Sails.js中保存记录时如何返回ID数组

来自分类Java

如何使用Java中的记录值保存记录并更新同一页面

来自分类Dev

在向导上创建一个按钮保存记录 - Odoov8

来自分类Dev

保存记录前获取下一个ID

来自分类Dev

由于字段不存在而创建不保存记录

来自分类Dev

我无法在sqlite Rails中保存记录

来自分类Dev

Rails循环遍历params数组并保存记录

来自分类Dev

保存记录django rest frwamework后如何返回ID

来自分类Dev

CloudKit:使用CKModifyRecordsOperation保存记录时出错

来自分类Dev

保存记录时插入网格线

来自分类Dev

Ember在使用DS.RESTAdapter时不保存记录

来自分类Dev

尝试保存记录时,Cloudkit给出错误

来自分类Dev

保存记录时如何保持数组结构-activerecord / postgres

来自分类Dev

Swift CloudKit SaveRecord“保存记录时出错”

来自分类Dev

在Odoo / Openerp上保存记录时显示弹出窗口

来自分类Dev

PSR-“尝试保存记录的步骤时发生错误”

来自分类Dev

保存记录时自动更新LastDateModified字段

来自分类Dev

在Android中更改方向后保存记录

Related 相关文章

  1. 1

    在保存记录时在 TYPO3 extbase 扩展中创建 pdf

  2. 2

    保存记录并使用新值时不会在 rails 中更改

  3. 3

    Rails:根据同级记录创建唯一的自动增量ID

  4. 4

    Orchard 1.8-具有唯一字段的保存记录

  5. 5

    更新OleDb时未保存记录

  6. 6

    Rails-创建操作不会在数据库中保存记录

  7. 7

    在Laravel 4中批量保存记录?

  8. 8

    在Rails模型中发生回滚时如何保存记录

  9. 9

    在rails中保存记录时出现couter_cache错误

  10. 10

    Rails-保存记录时自动更新外键

  11. 11

    Ember.js错误:使用ember-data保存记录时找不到'id'的模型

  12. 12

    在Sails.js中保存记录时如何返回ID数组

  13. 13

    如何使用Java中的记录值保存记录并更新同一页面

  14. 14

    在向导上创建一个按钮保存记录 - Odoov8

  15. 15

    保存记录前获取下一个ID

  16. 16

    由于字段不存在而创建不保存记录

  17. 17

    我无法在sqlite Rails中保存记录

  18. 18

    Rails循环遍历params数组并保存记录

  19. 19

    保存记录django rest frwamework后如何返回ID

  20. 20

    CloudKit:使用CKModifyRecordsOperation保存记录时出错

  21. 21

    保存记录时插入网格线

  22. 22

    Ember在使用DS.RESTAdapter时不保存记录

  23. 23

    尝试保存记录时,Cloudkit给出错误

  24. 24

    保存记录时如何保持数组结构-activerecord / postgres

  25. 25

    Swift CloudKit SaveRecord“保存记录时出错”

  26. 26

    在Odoo / Openerp上保存记录时显示弹出窗口

  27. 27

    PSR-“尝试保存记录的步骤时发生错误”

  28. 28

    保存记录时自动更新LastDateModified字段

  29. 29

    在Android中更改方向后保存记录

热门标签

归档