Rails 生成短路径

Rails generate short route

您好 :) 我有一个问题,我不太确定如何修复或解决具体问题。

我正在使用 MongoDB .

我想让我的路线变小,以便与 public 分享。

例如

https://example.com/api/v1/users/:user_id/pictures/:picture_id

https://example.com/aghu234

因为我不想让其他用户看到路径。我希望你们能帮助我:)

您可以使用 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