我想在Ruby on Rails中创建类似于http://www.pastebin.com/的Web应用程序.pastebin.com使用随机字符串来标识项目.Ruby on Rails使用自动递增数字.如何使Ruby on Rails也使用这些随机字符串作为项目的ID,而不是自动递增数字?
谢谢
使用有保证的随机字符串生成器,base64对其进行编码,然后将其缩短为可接受的值(8个字符?)
require 'uuidtools'
require 'base64'
uid = UUIDTools::UUID.random_create
Base64.encode64(uid)[0..7]
=> "Y2I2ZTQ5"
Run Code Online (Sandbox Code Playgroud)
在Rails中,您可以根据:slug列更改要加载的路由,并使用以下内容设置此值:
before_create do
self.slug = Base64.encode64(UUIDTools::UUID.random_create)[0..8]
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3169 次 |
| 最近记录: |