Created: 2008-12-15 01:19
Updated: 2016-05-08 19:22
License: mit



Manages your permalinks so you don't have to.

Internally, makes use of DataMapper::Types::Slug, although I'm not terribly excited about its implementation at the moment. (After you save a model, you have to reload it to be able to see a proper value for the slug field.)

To use, add the following to your model:

has_slug # uses defaults of :on => name, :called => :slug


has_slug :on => title, :called => permalink

You can add a :length option as well, though if you place your has_slug anywhere below the property given in :on, it will pick up the length of that field and use that instead. It will also add a unique_index option if the original field has unique_index set to true, or if it's a key.

As shown above, if your field to create a slug on is called :name or if you don't mind your slug field being called slug, then you can leave that corresponding option out, as those are the defaults. If you'd like something different, as in the second example, you can specify them and they'll get used instead of the defaults.

Let me know if there's anything additional you'd like to see here.

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more