ruby-on-railsrubyancestry

Generate slug when using ancestry gem


I'd like to create a slug based on the ancestors of the record. If I already have a slug created. The best solution I have come up with is:

def pretty_url    
  path.select(:slug).map(&:slug).join("-")
end

Is there a more precise way to do this using the ancestry gem?

Also, I am using friendly id to generate the slug, so maybe there is a better way using friendly id?


Solution

  • This is what I figured out, using friendly id and ancestry gem together.

    friendly_id :slug_candidates, use: :slugged
    
     def slug_candidates
       [
         [parent.try(:slug), :title]
       ]
     end