Я работаю над проектом Rails 2.3.14, в котором используется 0.6.0 гема i18n и 2.3. .14 драгоценного камня ActiveSupport. Оба они определяют метод Hash#slice
(i18n). ; ActiveSupport), но они функционируют по-разному: версия i18n использует Hash#fetch
и поэтому вызывает исключение i18n/core_ext/hash.rb:4:in 'fetch': key not found (IndexError)
, если какой-либо запрошенный ключ отсутствует, в то время как версия ActiveSupport счастливо игнорирует отсутствующие ключи, а остальная часть ActiveSupport зависит от этого счастливого игнорирования.
В моем приложении версия i18n загружается первой (потому что, кстати, фейкер загружает ее как зависимость), поэтому, когда ActiveSupport пытается зависеть от поведения игнорирования отсутствующих ключей, я получаю исключение.
Есть ли способ указать Rails загружать ActiveSupport перед подделкой и i18n?