Ruby on rails 如何在Rails中参数化字符串而不使其小写
有一个很好的方法,Ruby on rails 如何在Rails中参数化字符串而不使其小写,ruby-on-rails,Ruby On Rails,有一个很好的方法,参数化,但它使字符串小写。那么,有没有一种方法可以在不使字符串小写的情况下对其进行参数化呢?这就是参数化的来源。因此,您可以定义一个新方法,只需将最后一行参数化\u字符串.downcase更改为参数化\u字符串 # File activesupport/lib/active_support/inflector/transliterate.rb, line 80 def parameterize(string, sep = '-') # replace accented ch
参数化
,但它使字符串小写。那么,有没有一种方法可以在不使字符串小写的情况下对其进行参数化呢?这就是参数化的来源。因此,您可以定义一个新方法,只需将最后一行参数化\u字符串.downcase
更改为参数化\u字符串
# File activesupport/lib/active_support/inflector/transliterate.rb, line 80
def parameterize(string, sep = '-')
# replace accented chars with their ascii equivalents
parameterized_string = transliterate(string)
# Turn unwanted chars into the separator
parameterized_string.gsub!(/[^a-z0-9\-_]+/, sep)
unless sep.nil? || sep.empty?
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}$/, '')
end
parameterized_string.downcase
end
我不确定您要做什么,但是参数化
方法旨在使字符串URL安全
然而,如果你坚持你可以一直这样做:
"AsDF".parameterize.capitalize # => "Asdf"
在Rails 5中,可以添加preserve_case选项来参数化
"Ærøskøbing Brugs".parameterize(preserve_case: true) => "AEroskobing-Brugs"
您可以使用gsub替换或删除字符串中的特殊字符。