2013-11-19 4 views
0

Когда я заменить эту строку в GemfileПочему я получил слишком высокий уровень стека с помощью глобализации, единорога и рельсов?

gem 'globalize3' 

К этому один:

gem 'globalize', '~> 3.0.0' 

Как предложено здесь: https://github.com/globalize/globalize, я получил эту ошибку при запуске Unicorn

От Unicorn файл журнала

I, [2013-11-19T12:07:39.869767 #20032] INFO -- : Refreshing Gem list 
/usr/local/rvm/rubies/ruby-1.9.3-p429/lib/ruby/gems/1.9.1/gems/unicorn-4.6.3/lib/unicorn.rb:48: stack level too deep (SystemStackError) 

Я полагаю, что у меня нет ничего особенного. Я настроил это (ниже) на резерв pt-BR до ru и наоборот, который работает в разработке с новым глобализатором (он не с Globalize3). Однако я прокомментировал эти строки в процессе производства, но ошибка сохраняется.

конфигурации/application.rb

config.i18n.fallbacks = {'pt-BR' => 'en', 'en' => 'pt-BR'} 
Globalize.fallbacks = {:en => [:en, :'pt-BR'], :'pt-BR' => [:'pt-BR', :en]} 

конфигурации/environment.rb

require "i18n/backend/fallbacks" 
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks) 

Любые советы? Я был бы признателен за любой тест, который я могу сделать, чтобы найти проблему.

ответ

0

Кажется, что это ошибка глобализации.

Он работал с использованием

gem 'globalize', '3.0.0' 

Вы можете получить более подробную информацию по этим ссылкам:

Однако, я не знаю, что делать в следующий раз. Я полагаю, что я должен сделать то же самое (размещение на SO и/или в очереди выпуска Gem)

Update

Это решение не требуется больше, как Globalize релиз 3.0.2 работает.

+0

Попробуйте обновить версию globalize до '3.0.2', она должна быть исправлена. –