English 中文(简体)
Have Rails 2.3.x ignore the i18n gem
原标题:

I have a Rails 2.3.5 project that uses the localization features of Rails. I also happen to have Rails 3 beta installed (which depends on the i18n gem). Rails 2.3.5 will happily handle localization on it s own (without i18n installed), however if the i18n gem is available, it makes use of it.

Recently I upgraded my gems and now have version 0.3.7 and 0.4.0 of i18n installed. Rails, of course, wants to load and use the latest version which is causing errors in my project. I tried setting the gem version to 0.3.7 which gets around the errors in the web app. However, we re using resque and resque_mailer to delay the sending of messages. When the worker picks up the mailer job from the queue, it ignores my config.gem requirement in environment.rb and uses version 0.4.0 anyway.

Ideally, I d like to tell Rails to just not use the i18n gem at all. How do I do that?

Update: As of beta 4, Rails 3 now requires i18n version 0.4.1. I don t see how more people aren t running into this problem as it would seem now if you have both Rails 2 and Rails 3 installed, you re going to run into this.

最佳回答

I followed instructions as defined here:

http://gembundler.com/rails23.html

and it worked.

问题回答

You could use Bundler or RVM s Gemsets to make the i18n gem unavailable from within your app. Or you could upgrade your Rails app.

  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





相关问题
How does gettext handle dynamic content?

In php (or maybe gettext in general), what does gettext do when it sees a variable to dynamic content? I have 2 cases in mind. 1) Let s say I have <?=$user1?> poked John <?=$user2?>. ...

Explain the Need for Mutexes in Locales, Please

Reading the question Why doesn’t C++ STL support atoi(const string& ) like functions?, I encountered a comment which warned that GCC (at least) has a bug that can slow down multi-threaded ...

How does Vistalizer work

How does Vistalizer manage to override the language limit in Windows Vista Home edition. Which api s does it use to allow installation of Multiple language packages.

Localized exceptions (within a Struts2 app)

I am developing a Struts 2 application with support for multiple languages. If one of the domain objects needs to throw an exception, how can it do so in such a way that the error message is no ...

Rails Globalize plugin help

Has anyone gotten the Globalize plugin to work Rails 2.3.2 or later? If so, could you direct me to some useful info?

热门标签