我正在开发一个 Rails 2.3.14 项目,该项目使用 0.6.0 的i18n gem和 2.3.14 的 ActiveSupport gem。这两个都定义了一个Hash#slice
方法(i18n's ; ActiveSupport's),但它们的功能不同:i18n 版本使用Hash#fetch
,因此i18n/core_ext/hash.rb:4:in 'fetch': key not found (IndexError)
如果缺少任何请求的键,则会引发异常,而 ActiveSupport 版本会愉快地忽略丢失的键,而 ActiveSupport 的其余部分取决于那快乐的无视。
在我的应用程序中,首先加载 i18n 版本(因为顺便说一下,faker 将其作为依赖项加载),因此当 ActiveSupport 尝试依赖 ignore-missing-keys 行为时,我得到了异常。
有没有办法告诉 Rails 在 faker 和 i18n 之前加载 ActiveSupport?