Ошибка объединения переводов в Ruby on Rails

Недавно я обновил свой проект Ruby on Rails, а затем, когда я пытаюсь запустить команду rake i18n:js:export, я получаю следующую ошибку

uninitialized constant I18n::INTERPOLATION_PATTERN

Это происходит как на машинах с Windows 8.1, так и на centos6.

Моя рубиновая версия: 1.8.7 в Windows и 1.9.3 в CentOS6 Rails версия: 3.0.9

Я ничего не понимаю в этом месте и пытался найти решение, но не смог найти правильного.

Я использую i18n-js version 2.1.2

Я попытался обновить его до version 3.0.0.rc5, но все равно безуспешно.

Кто-нибудь сталкивался с подобными проблемами? Я с нетерпением жду решения этой проблемы.

введите описание изображения здесь

/ * РЕЗУЛЬТАТ ПОСЛЕ РАБОТЫ СО СЛЕДОМ * /

** Вызов i18n: js: export (first_time) ** Вызвать среду (first_time) ** Выполнить среду ** Выполнить i18n: js: export rake прерван! неинициализированная константа I18n :: INTERPOLATION_PATTERN c: /Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js.rb: 72: в block in configured_segments' c:/Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js.rb:70:in each 'c: / Ruby193 / lib /ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js.rb:70:in each_wit h_object' c:/Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js.rb:70:in configur ed_segments 'c: /Ruby193/lib/ruby/gems/1.9.1/gems/ i18n-js-2.1.2 / lib / i18n-js.rb: 83: in translat ion_segments' c:/Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js.rb:46:in export! '

c: /Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js/rake.rb: 9: в bloc k (2 levels) in <top (required)>' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:236:in call 'c: / Ruby193 / lib / ruby ​​/ gems /1.9.1/gems/rake-10.1.1/lib/rake/task.rb:236:in block i n execute' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:231:in each 'c: /Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib /rake/task.rb:231: в execute ' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:175:in block в invoke_with_call_chain 'c: /Ruby193/lib/ruby/1.9.1/monitor.rb: 211: в mon_synchronize' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:168:in invoke_ with_call_chain' c: /Ruby193/lib/ruby/gems/1.9. 1 / gems / rake-10.1.1 / lib / rake / task.rb: 161: в `invoke '

c: /Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb: 149: в invoke_task' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:106:in блоке (2 уровня) на верхнем_уровне 'c: / Ruby193 / lib / ruby / gems / 1.9.1 / gems / rake-10.1.1 / lib / rake / application.rb: 106: в each' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:106:in блоке на верхнем_уровне 'c: /Ruby193/lib/ruby/gems/1.9.1/gems/rake -10.1.1 / lib / rake / application.rb: 115: run_with_threads' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:100:in top_level 'c: /Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb: 78: в b lock in run' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:165:in standard_exception_handling 'c: /Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb: 75: в r un' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/bin/rake:33:in ' c: / Ruby193 / bin / rake : 23: in load' c:/Ruby193/bin/rake:23:in 'Задачи: TOP => i18n: js: экспорт

Спасибо


person Mujahid    schedule 08.01.2014    source источник
comment
Есть еще трассировка стека? Ссылается ли он на строку в вашем файле, и если да, то каков код в этой строке?   -  person Beartech    schedule 08.01.2014
comment
@Beartech: я обновил вопрос и теперь добавил трассировку стека из centos. Не могли бы вы проверить это   -  person Mujahid    schedule 08.01.2014
comment
Когда вы говорите, что обновили, что вы изменили? Вы имеете в виду, что обновили версию Rails? Вы можете попробовать выполнить команду rake с параметром --trace, чтобы получить дополнительную информацию. Он жалуется, что нигде не может найти константу I18n :: INTERPOLATION_PATTERN. Где-то отсутствует require...?   -  person Beartech    schedule 08.01.2014
comment
Вы можете опубликовать свой config/i18n-js.yml файл?   -  person Beartech    schedule 08.01.2014
comment
@Beartech: Я добавил результат после запуска с трассировкой. А это мой файл i18n-js auto_export: no translations: - file: "public/javascripts/translations.js" only: "*" asset_pipeline: yes   -  person Mujahid    schedule 08.01.2014
comment
Хорошо, проблема в получении константы INTERPOLATION_PATTERN от драгоценного камня i18n, от которого зависит i18n-js. Убедитесь, что вы находитесь в корневом каталоге своего приложения (там же, где вы выполняете команду rake...), запустите bundle show i18n и покажите нам результат.   -  person Beartech    schedule 08.01.2014
comment
Также ВАЖНО, работает ли ваше приложение Rails под управлением Rails 3? Рельсы 2? Нужно знать!   -  person Beartech    schedule 08.01.2014
comment
Привет, моя версия рельсов: 3.0.9, и это путь драгоценного камня $ bundle show i18n-js c:/Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2   -  person Mujahid    schedule 09.01.2014
comment
Нет, вам нужно сделать bundle show для i18n, а не i18n-js.   -  person Beartech    schedule 09.01.2014
comment
Ниже приводится результат для i18n $ bundle show i18n c:/Ruby193/lib/ruby/gems/1.9.1/gems/i18n-0.5.3   -  person Mujahid    schedule 09.01.2014
comment
И, наконец, в консоли rails (запустите rails c) просто введите I18n::INTERPOLATION_PATTERN и нажмите Enter. Копировать необходимо точно так, как показано.   -  person Beartech    schedule 09.01.2014
comment
irb(main):001:0> I18n::INTERPOLATION_PATTERN NameError: uninitialized constant I18n::INTERPOLATION_PATTERN from (irb):1 from c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/comman ds/console.rb:44:in start 'из c: /Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/comman ds / console.rb: 8: in start' from c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/comman ds.rb:23:in ‹top (обязательно)›' из скрипта / rails: 6: in require' from script/rails:6:in ‹main› 'irb (main): 002: 0 ›`   -  person Mujahid    schedule 09.01.2014
comment
позвольте нам продолжить обсуждение в чате   -  person Mujahid    schedule 09.01.2014


Ответы (1)


Я знаю, что это устаревшая проблема, но вы можете взглянуть на этот недавний вопрос SO. В нем подробно описано, как я столкнулся с подобной проблемой и как она была решена:

обновление до Ruby 2.3.0 NameError: неинициализированная константа I18n: : Config :: Backend

Просмотрите свои файлы rake и посмотрите, есть ли у вас ссылки на помощник по переводу.

Удаление include ActionView::Helpers::TranslationHelper и замена (t "some_text") на (I18n.t "some_text") полностью устранили проблему.

person cman77    schedule 26.05.2016