目前我打电话:
Appointment.last.to_signed_global_id.to_s
# => BAh7CEkiCGdpZAY6Bk...27c1175e6e2
Appointment.last.to_signed_global_id.to_s
# => BAh7CEkiCGdpZAY6BkVU....0efc706151feed7178
Run Code Online (Sandbox Code Playgroud)
有没有办法始终返回相同的签名全局 id?
是的,您可以获得签名的全局 ID。它不稳定,因为默认情况下,Rails 中有 1 个月的过期时间。
为了使您的签名全局 ID 稳定,请将过期时间设置为 nil。
Appointment.last.to_signed_global_id(expires_in: nil).to_s
Run Code Online (Sandbox Code Playgroud)
现在,调用上述代码任意多次将始终生成相同的字符串结果,除非您更改签名密钥。