A one-liner solution for ActiveRecord::Base#to_param
.
class User < ActiveRecord::Base
# ...
to_param :name
end
User.create(name: "Linus").to_param # => "1-linus"
class User < ActiveRecord::Base
# ...
to_param "Feel-lucky-:name"
end
User.create(name: "punk").to_param # => "feel-lucky-punk"
class User < ActiveRecord::Base
# ...
to_param "static"
end
User.create(name: "Linus").to_param # => "static"
ActiveRecord::Base.to_param
uses #parameterize under the hood, so you don't have to worry about escaping.
[sudo] gem install to_param
to_param is tested in OS X 10.8.2 using Ruby 1.9.2 and Rails 3.2.
to_param is released under the MIT license.