2016-04-06 1 views
3

Ich habe einen Beitrag ModellFreundlich Id Individuelle Slug

#post.rb 
extend FriendlyId 
friendly_id :slug_candidates, use: [:slugged, :history] 

Ich versuche, wie die URL für jeden Post zu gestalten, so

#post.rb 
def slug_candidates 
"#tutorial-#{user.display_name}-#{title}" 
end 

Freundlich id Schnecken zu erzeugen UUID hält, während Ich mag würde eine umfassende uRL zu generieren

Normalerweise erhalte ich \ tutorial-john-49c9938b-ece5-4175-a4a4-0bb2b0f26a27 Statt \ tutorial-john-some-umfassende-Titel

Vielen Dank

Antwort

1

Ich habe die Antwort bearbeitet, sorry. Es scheint, dass friendly_id eine Reihe von Slug-Kandidaten erwartet. Wie Sie here

bitte versuchen Sie dies sehen:

#post.rb 
def slug_candidates 
    [ "#tutorial-#{user.display_name}-#{title}" ] 
end 
+0

getestet mit diesem aber nur \ tutorial-John. Scheint so, als würde der Titel nicht durch eine freundliche ID generiert – Zonblar

1

verstanden. Der Slug wurde generiert, bevor ich den Titel gespeichert habe. Es wurde daher mit einem Nulltitel erzeugt. Ich musste die Methode sophent_generate_new_friendly_id überschreiben

def should_generate_new_friendly_id? 
    slug.blank? || title_changed? 
end