2016-07-12 4 views
0

Ich muss den Weg kopieren, wie friendly_id Text in Nacktschnecken verwandelt.Ich versuche zu kopieren, was friendly_id macht, um aus einer starken in eine Schnecke zu verwandeln.

Ich war mit diesem für meine app

text  = "random text" 
text_gsubed = (value.gsub ' ', '-') 
slug  = text_gsubed.downcase 

Aber vor kurzem wurde mir klar für Text mit nicht alphabetischen oder numerischen Zeichen erzeugt er eine andere Schnecke, was firendly_id zum Beispiel erzeugt

text  = "random >> text" 
text_gsubed = (value.gsub ' ', '-') 
slug  = text_gsubed.downcase 

Der Slug den obigen Code erzeugt = random->>-text

Der Slug feindly_id erzeugt = random-text

ich aber vielleicht haben sie in der Methode einen integrierten Sie können global verwenden wie text.slug oder text.friendly_id, wenn Sie das haben Juwel installiert, aber ich kann nicht sehen. Ich habe auch in ihre Dateien geschaut, um die Methode zu finden, die die Saite in eine Schnecke verwandelt, aber nicht finden kann.

Wie kann ich nachahmen, was friendly_id tut?

Antwort

2

Ich würde wahrscheinlich in die ActiveSupport :: Inflections # parameterize suchen.

In Ihrem Fall sollten Sie in der Lage sein zu nennen:

text.parameterize 

Wenn Sie auch mit anderen Parametern kombinieren möchten, vielleicht id oder etwas könnten Sie tun:

[id, title, others].join(' ').parameterize 
Verwandte Themen