【问题标题】:How can I map/link/associate a UUID to a random hex number如何将 UUID 映射/链接/关联到随机十六进制数
【发布时间】:2014-12-24 12:30:30
【问题描述】:

这里的新手,把我的头包在这东西上!

我想使用十六进制数字作为我的 url(外部标识符)并将 uuid 保存在数据库中以用于 ruby​​ on rails 应用程序。这甚至可能吗?

非常感谢

【问题讨论】:

    标签: ruby-on-rails ruby hex uuid


    【解决方案1】:

    许多人建议您不要这样做,但是,是的,这是可能的。它将需要一些代码,解决方案取决于您使用的 Rails 版本以及数据库使用什么,这就是为什么我将以通用方式回答。

    您需要为模型设置两个不同的字段:一个用于外部十六进制表示,另一个用于单独的 UUID。然后,您可以使用十六进制字符串来查找控制器操作中的实例。

    请查看以下内容(他们似乎没有这两个字段,但无论如何都会为您指明正确的方向):

    Problems setting a custom primary key in a Rails 4 migration

    Change Primary Key Issue Rails 4.0

    http://www.speakingcode.com/2013/12/07/gracefully-using-custom-primary-keys-in-rails-4-routes-controllers-models-associations-and-migrations/

    还有一个类似的事情要做的更长的帖子:http://ruby-journal.com/how-to-override-default-primary-key-id-in-rails/

    另外,FriendlyId gem 可能会做你想做的事。

    【讨论】:

    • 谢谢 - 这很有帮助!为什么不建议这样做?
    • 因为很多 Ruby on Rails 的“魔法”都依赖于主键的整数字段,例如,如果没有整数字段,就很难确保一切都按预期工作。
    猜你喜欢
    • 2021-09-08
    • 2020-10-27
    • 2016-12-19
    • 2014-07-03
    • 2010-11-19
    • 2018-08-26
    • 1970-01-01
    相关资源
    最近更新 更多