Gem Version Code Climate Build Status Dependency Status

Slugs

Minimalistic slugs inspired in friendly_id for rails.

Install

Put this line in your Gemfile:

gem 'slugs'

Then bundle:

$ bundle

Configuration

Add the slug column to the tables of the models you want to have slugs:

t.string :slug

Update your db:

rake db:migrate

NOTE: If you are using translatable_records you need to place the column in the translations table.

Usage

Use has_slug in your models to define what the slug will be:

If you want to use the value of one field:

has_slug :prop

To concatenate the value of multiple fields:

has_slug :prop1, :prop2, :prop3

If you need a very custom slug you can use a lambda, proc or block:

has_slug proc { |record| "#{record.prop}-custom" }

Then the find method of your models will accept slugs and ids transparently:

Model.find 'slug'

All the path and url helpers will start using the slug by default if you want to force the id:

model_path(instance.id)

Credits

This gem is maintained and funded by museways.

License

It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.