instance method
parameterize
Ruby on Rails edge
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.
: (?separator: String?, ?preserve_case: boolish, ?locale: Symbol?) -> String
Parameters
-
separatorkey = "-" -
preserve_casekey = false -
localekey = nil
Source
# File activesupport/lib/active_support/core_ext/string/inflections.rb, line 250
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 250
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in String