Files
nairobi/app/models/concerns/sluggable.rb
Julian Herrero 22076dd95c Add method find_by_slug_or_id! to Sluggable module
Make it easier to find by slug or id for sluggable models. It will
raise a 404 HTML Not found error if the resource is not found.
2019-06-03 16:54:39 +02:00

20 lines
413 B
Ruby

module Sluggable
extend ActiveSupport::Concern
included do
before_validation :generate_slug, if: :generate_slug?
def self.find_by_slug_or_id(slug_or_id)
find_by_slug(slug_or_id) || find_by_id(slug_or_id)
end
def self.find_by_slug_or_id!(slug_or_id)
find_by_slug(slug_or_id) || find(slug_or_id)
end
end
def generate_slug
self.slug = name.to_s.parameterize
end
end