ruby-on-rails – Ruby 1.9不支持Unicode归一化

我试图将一些旧的rails应用程序移植到 Ruby 1.9,我不断收到关于 Ruby 1.9如何不支持Unicode标准化的警告.我已经跟踪到这个功能,但是我每个请求收到大约20个警告消息:

导轨-2.3.5 /的ActiveSupport / lib中/ active_support / inflector.rb

def transliterate(string)
  warn "Ruby 1.9 doesn't support Unicode normalization yet"
  string.dup
end

任何想法我应该如何开始跟踪这些下来并解决它?

解决方法

如果您知道后果,即重音字符不会在Ruby 1.9.1 Rails 2.3.x中进行音译,请将其放在配置/初始化器中以使警告静音:
# https://stackoverflow.com/questions/2135247/ruby-1-9-doesnt-support-unicode-normalization-yet
module ActiveSupport
  module Inflector
    # Calling String#parameterize prints a warning under Ruby 1.9,# even if the data in the string doesn't need transliterating.
    if Rails.version =~ /^2\.3/
      undef_method :transliterate
      def transliterate(string)
        string.dup
      end
    end
  end
end

Rails 3确实解决了这个问题,所以更加面向未来的解决方案将是向这个迁移.

相关文章

以下代码导致我的问题: class Foo def initialize(n=0) @n = n end attr_accessor :n d...
这是我的spec文件,当为上下文添加测试“而不是可单独更新用户余额”时,我得到以下错误. require 's...
我有一个拦截器:DevelopmentMailInterceptor和一个启动拦截器的inititializer setup_mail.rb. 但我想将...
例如,如果我有YAML文件 en: questions: new: 'New Question' other: recent: ...
我听说在RSpec中避免它,let,let !,指定,之前和主题是最佳做法. 关于让,让!之前,如果不使用这些,我该如...
我在Rails中使用MongoDB和mongo_mapper gem,项目足够大.有什么办法可以将数据从Mongoid迁移到 Postgres...