Mongoid::Urls
Mongoid::Urls
Simple slugs for mongoid models!
Nice URLs for Mongoid Documents
This library is a quick and simple way to generate slugs for your mongoid documents.
Mongoid::Urls can help turn this:
http://bestappever.com/video/4dcfbb3c6a4f1d4c4a000012
Into something like this:
http://bestappever.com/video/kittens--with-puppies
Getting started
In your gemfile, add:
gem 'mongoid-urls'
In your Mongoid documents, just add include Mongoid::Urls
and use the url
method to setup, like so:
class Video
include Mongoid::Document
include Mongoid::Urls
field :title
url :title
end
And that's it! There's some configuration options too - which are all listed below.
Finders
Mongoid::Urls
will never override find
!
Video.find_by_url("the-nice-url")
Or just:
Account.find_url("acc-123456")
Configuration
You may choose between two different systems for how your urls are stored:
Simple: #url
String only.
Default to simple + #urls
Array for history (find when page moved).
Reserved
Defaults to %w(new edit)
.
Have in mind: It's an overwrite, not a merge.
Notes
If you're looking for conflict resolution, check out mongoid-slugs
.
This gem intended to be used for manual conflict resolution (duplicates):
Use your own logic and/or return conflict error to the user.