每当在Rails中创建新模型时,id
字段用于标识它。
我想知道每当以与id类似的方式创建模型时,是否存在创建唯一哈希的简洁方法。
答案 0 :(得分:1)
如果您正在寻找持久性唯一哈希,可以添加名为unique_id
的列并执行以下操作:
class Foo < ActiveRecord::Base
before_save :generate_unique_id
def generate_unique_id
# generate a random hex string using trickery:
self.unique_id = rand(36**12).to_s(16) # => "22b0433e3d9ae776"
# generate a 12-char random string a-z0-9:
self.unique_id = rand(36**12).to_s(36) # => "os0w9cl8xi48"
# or, if you want to do something more obvious:
self.unique_id = SecureRandom.hex(6) # => "ba191acc80ef"
# or, if you want a legitimate UUID:
self.unique_id = SecureRandom.uuid # => "72569edd-1841-4fd9-af05-edf66a58b74b"
end
end