parameterize(separator: "-", preserve_case: false, locale: nil) public

Replaces special characters in a string so that it may be used as part of a ‘pretty’ URL.

If the optional parameter locale is specified, the word will be parameterized as a word of that language. By default, this parameter is set to nil and it will use the configured I18n.locale.

class Person def to_param "#{id}-#{name.parameterize}" end end @person = Person.find(1) # => #<Person id: 1, name: "Donald E. Knuth"> <%= link_to(@person.name, person_path) %> # => <a href="/person/1-donald-e-knuth">Donald E. Knuth</a> 

To preserve the case of the characters in a string, use the preserve_case argument.

class Person def to_param "#{id}-#{name.parameterize(preserve_case: true)}" end end @person = Person.find(1) # => #<Person id: 1, name: "Donald E. Knuth"> <%= link_to(@person.name, person_path) %> # => <a href="/person/1-Donald-E-Knuth">Donald E. Knuth</a> 

See ActiveSupport::Inflector.parameterize.

Show source
Register or log in to add new notes.