Ich erstelle eine Rails 5-Teamverwaltungs-App, mit der Benutzer Organisationen und Benutzer verwalten können. Ich möchte in der Lage sein, von der Verwendung der ID im Pfad (z. B. /organizations/43
) zu wechseln und stattdessen einen alphanumerischen Block zu verwenden (z. B. /organizations/H6Y47Nr7
). Ähnlich wie bei Trello (d. H. https://trello.com/b/M9X71pE6/board-name
). Gibt es eine einfache Möglichkeit, dies zu tun?Verwenden von alphanumerischen Slugs anstelle von IDs in Routen - Rails
Ich habe den Edelstein FriendlyId gesehen, der sich um den Schlag im Weg kümmern könnte, aber was wäre der beste Weg, den Schlag zu erzeugen?
Idealerweise für die meisten bang for buck der Slug würde AZ, az und 0-9 (wie ich es verstehe, das ist Base58?) Und um die URL nicht zu viel blasen, 8 Charaktere höchstens. Wenn meine Berechnungen korrekt sind, ergibt dies 218 Billionen Kombinationen, die reichlich sein sollten.
Bin ich auf dem richtigen Weg? Jede Hilfe würde sehr geschätzt werden.
Dank
Sie können prüfen, [hashids] (https://github.com/peterhellberg/hashids. rb) Juwel, die Anpassung der Anzahl der Zeichen und Zeichen in Slug enthalten unterstützen. Ich habe vor kurzem ein Rails [plugin] (https://github.com/sajan45/hashids_activarecord) dafür gemacht, aber ich habe noch keines von beiden in der Produktion benutzt. – Sajan
Werfen Sie einen Blick auf meine alte Antwort hier http://stackoverflow.com/a/16096646/1297435 –