如何将UUID映射/链接/关联到随机十六进制数

时间:2014-10-28 22:24:26

标签: ruby-on-rails ruby hex uuid

新手在这里,围着我的脑袋绕着这个东西!

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

非常感谢

1 个答案:

答案 0 :(得分: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可能会做你想要的。