Ha Rails 2.3.x ignorare la gemma i18n
-
24-10-2019 - |
Domanda
Ho un progetto Rails 2.3.5 che utilizza la localizzazione caratteristiche di Rails. Ho anche capita di avere Rails 3 beta installata (che dipende dalla gemma i18n). Rails 2.3.5 sarà lieto di gestire la localizzazione sul suo proprio (senza i18n installato), se la gemma i18n è disponibile, si fa uso di esso.
Recentemente ho aggiornato il mio gemme e ora hanno la versione 0.3.7 e 0.4.0 di i18n installato. Rails, naturalmente, vuole caricare e utilizzare la versione più recente che sta causando errori nel mio progetto. Ho provato a installare la versione 0.3.7 gemma che ottiene intorno agli errori nel web app. Tuttavia, stiamo usando resque e resque_mailer di ritardare l'invio di messaggi. Quando le scelte dei lavoratori fino al lavoro mailer dalla coda, si ignora la mia richiesta config.gem in environment.rb e utilizza la versione 0.4.0 in ogni caso.
Idealmente, vorrei dire a Rails non solo di utilizzare la gemma i18n a tutti. Come faccio a farlo?
Aggiornamento: Come di beta 4, Rails 3 ora richiede i18n versione 0.4.1. Io non vedo come sempre più persone non sono in esecuzione in questo problema come sembrerebbe ora se si dispone di entrambe le guide 2 e Rails 3 installato, si sta andando a correre in questo.
Soluzione
Altri suggerimenti
- Congelare la versione rotaie:
rake VERSION=2.3.5 rails:freeze:gems
- Fissare la versione nel file vendor / rails / ActiveSupport / lib / active_support / vendor.rb linea 24 a:
gem 'i18n', '>= 0.1.3', '< 0.4.0'
O semplicemente edit: /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/vendor.rb
e ruotare gem 'i18n', '>= 0.1.3'
In gem 'i18n', '0.1.3'