【发布时间】:2016-08-03 19:11:29
【问题描述】:
假设我正在 Rails 中构建 Facebook 克隆
目前我的路线很标准,比如
/group/1/post/3
我很想制作一些合成 ID,使用与 Facebook 等网站相同的编号方案。似乎有两种一般类型的路线
# Only numbers
/group/10101830214008379/post/159476674458072
# Hash / Hex
/group/da295c4b/post/815fe818
美学之外——
- 使用这两种方法有哪些优点/缺点?
- 是否有良好的行业标准或最佳实践来为用户、群组、帖子等概念生成合成 ID。
- 在 Ruby/Rails 中生成这些 ID 的最佳方式是什么?我知道
SecureRandom.hex,但这似乎会产生一个很长的哈希值。
谢谢!
【问题讨论】:
-
我不了解 Ruby,但我广泛使用
crc32散列来获取各种对象的唯一 ID。转换为十六进制,它提供一个 8 个字符的哈希码,就像上面的十六进制代码一样。它在 Ruby 的 zlib module 中。
标签: ruby-on-rails url routes