instance method
parameterize
Ruby on Rails 2.3.18
Since v2.2.3Signature
parameterize(string, sep = '-')
Replaces special characters in a string so that it may be used as part of a ‘pretty’ URL.
Examples
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(@person)) %>
# => <a href="/person/1-donald-e-knuth">Donald E. Knuth</a>
Parameters
-
stringreq -
sepopt = '-'
Source
# File activesupport/lib/active_support/inflector.rb, line 260
def parameterize(string, sep = '-')
# remove malformed utf8 characters
string = string.toutf8 unless string.is_utf8?
# replace accented chars with ther ascii equivalents
parameterized_string = transliterate(string)
# Turn unwanted chars into the seperator
parameterized_string.gsub!(/[^a-z0-9\-_]+/i, sep)
unless sep.blank?
re_sep = Regexp.escape(sep)
# No more than one of the separator in a row.
parameterized_string.gsub!(/#{re_sep}{2,}/, sep)
# Remove leading/trailing separator.
parameterized_string.gsub!(/^#{re_sep}|#{re_sep}$/i, '')
end
parameterized_string.downcase
end
Defined in activesupport/lib/active_support/inflector.rb line 260
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::Inflector