Метод Rails gsub из NumberHelper показывает символы до unicode '\ u20B8', но не отображает символ '\ u20B9'.Rails gsub не отображает символ для u20B9 (символ рупии)
Rails - 3.0.5 Рубин - 1.9.2-p0
В консоли Rails, выполните следующие действия:
ruby-1.9.2-p0 > value = "123.45"
=> "123.45"
ruby-1.9.2-p0 > unit = "\u20B9"
=> "\u20B9"
ruby-1.9.2-p0 > puts unit
₹
=> nil
ruby-1.9.2-p0 > format = "%u %n"
=> "%u %n"
ruby-1.9.2-p0 > format.gsub(/%n/, value).gsub(/%u/, rup)
=> "\u20B9 123.45"
ruby-1.9.2-p0 > format.gsub(/%n/, value).gsub(/%u/, "\u20B8")
=> "₸ 123.45"
ruby-1.9.2-p0 >
Пожалуйста, советы, почему это поведение с GSUB?
Кстати, gsub не из NumberHelper, его основного метода в классе Ruby String. – d11wtq
yep true. это была ошибка типографии, я хотел упомянуть number_from_currency от NumberHelper, а затем, наконец, просверлил, что gsub, используемый в number_from_currency, является тем, который неправильно печатает символ –