Pregunta

Tengo un proyecto Rails 2.3.5 que utiliza las características de localización de los rieles. También tengo instalado Rails 3 Beta (que depende de la gema I18N). Rails 2.3.5 manejará felizmente la localización por sí misma (sin I18n instalado), sin embargo, si la gema I18N está disponible, lo utiliza.

Recientemente actualicé mis gemas y ahora tengo la versión 0.3.7 y 0.4.0 de I18N instalado. Rails, por supuesto, quiere cargar y usar la última versión que está causando errores en mi proyecto. Intenté configurar la versión GEM en 0.3.7 que entra los errores en la aplicación web. Sin embargo, estamos utilizando Resque y Resque_mailer para retrasar el envío de mensajes. Cuando el trabajador recoge el trabajo del correo de la cola, ignora mi requisito config.gem en el entorno.rb y usa la versión 0.4.0 de todos modos.

Idealmente, me gustaría decirle a Rails que simplemente no usen la gema I18N en absoluto. ¿Cómo puedo hacer eso?

Actualizar: A partir de Beta 4, Rails 3 ahora requiere I18N Versión 0.4.1. No veo cómo más personas no se encuentran con este problema, ya que parece ahora si tienes ambos Rails 2 y Rails 3 instalados, te encontrarás con esto.

¿Fue útil?

Solución

Seguí las instrucciones como se define aquí:

http://gembundler.com/rails23.html

Y funcionó.

Otros consejos

Podrías usar Agalle o RVM's Chuchería Para que la gema i18n no esté disponible desde su aplicación. O puede actualizar su aplicación Rails.

  1. Freeze the rails version: rake VERSION=2.3.5 rails:freeze:gems
  2. Fix the version in the file vendor/rails/activesupport/lib/active_support/vendor.rb line 24 to: gem 'i18n', '>= 0.1.3', '< 0.4.0'

Or just edit: /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/vendor.rb

And turn gem 'i18n', '>= 0.1.3'

Into gem 'i18n', '0.1.3'

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top