instance method
parameterize
Ruby on Rails 8.1.2
Since v3.0.20Signature
parameterize(separator: "-", preserve_case: false, locale: nil)
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.
Parameters
-
separatorkey = "-" -
preserve_casekey = false -
localekey = nil
Source
# File activesupport/lib/active_support/core_ext/string/inflections.rb, line 215
def parameterize(separator: "-", preserve_case: false, locale: nil)
ActiveSupport::Inflector.parameterize(self, separator: separator, preserve_case: preserve_case, locale: locale)
end
Defined in activesupport/lib/active_support/core_ext/string/inflections.rb line 215
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in String