Rails 生成短路径
Rails generate short route
您好 :) 我有一个问题,我不太确定如何修复或解决具体问题。
我正在使用 MongoDB .
我想让我的路线变小,以便与 public 分享。
例如
https://example.com/api/v1/users/:user_id/pictures/:picture_id
到
因为我不想让其他用户看到路径。我希望你们能帮助我:)
您可以使用 shortener gem,它完全符合您的要求。
你可以使用shortenergem,但是使用第3方gem没有乐趣。所以,如果你想要内部版本,那么你可以使用下面的示例代码。
ALLOWED_CHARACTER_SPACE = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".split(//)
def convert_uid_to_short(uid)
surl = ''
base = ALLOWED_CHARACTER_SPACE.length
while uid > 0
surl << ALLOWED_CHARACTER_SPACE[uid.modulo(base)]
uid /= base
end
surl.reverse
end
在上述方法中,您已经传递了 uid
,一个整数格式的唯一标识符,用于您的 url/api。它将 return 一个简短的 url 作为唯一标识符。然后您可以在您的代码中适当地使用简短版本。
样本:
convert_uid_to_short(10)
output: k
convert_uid_to_short(1043234)
output: exyw
您好 :) 我有一个问题,我不太确定如何修复或解决具体问题。
我正在使用 MongoDB .
我想让我的路线变小,以便与 public 分享。
例如
https://example.com/api/v1/users/:user_id/pictures/:picture_id
到
因为我不想让其他用户看到路径。我希望你们能帮助我:)
您可以使用 shortener gem,它完全符合您的要求。
你可以使用shortenergem,但是使用第3方gem没有乐趣。所以,如果你想要内部版本,那么你可以使用下面的示例代码。
ALLOWED_CHARACTER_SPACE = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".split(//)
def convert_uid_to_short(uid)
surl = ''
base = ALLOWED_CHARACTER_SPACE.length
while uid > 0
surl << ALLOWED_CHARACTER_SPACE[uid.modulo(base)]
uid /= base
end
surl.reverse
end
在上述方法中,您已经传递了 uid
,一个整数格式的唯一标识符,用于您的 url/api。它将 return 一个简短的 url 作为唯一标识符。然后您可以在您的代码中适当地使用简短版本。
样本:
convert_uid_to_short(10)
output: k
convert_uid_to_short(1043234)
output: exyw