10

Railsのローカリゼーション機能を使用するRails2.3.5プロジェクトがあります。Rails 3ベータ版もインストールされています(i18n gemによって異なります)。Rails 2.3.5は、(i18nがインストールされていない場合)それ自体でローカリゼーションを問題なく処理しますが、i18n gemが利用可能な場合は、それを利用します。

最近、gemをアップグレードし、バージョン0.3.7と0.4.0のi18nをインストールしました。もちろん、Railsは、プロジェクトでエラーを引き起こしている最新バージョンをロードして使用したいと考えています。gemのバージョンを0.3.7に設定してみました。これにより、Webアプリのエラーが回避されます。ただし、メッセージの送信を遅らせるためにresqueとresque_mailerを使用しています。ワーカーがキューからメーラージョブを取得するとき、environment.rbのconfig.gem要件を無視し、とにかくバージョン0.4.0を使用します。

理想的には、i18nジェムをまったく使用しないようにRailsに指示したいと思います。それ、どうやったら出来るの?

更新:ベータ4の時点で、Rails3にはi18nバージョン0.4.1が必要です。Rails2とRails3の両方がインストールされている場合に発生するように、この問題が発生していない人がどれほど増えているかはわかりません。

4

4 に答える 4

5

私はここで定義されている指示に従いました:

http://gembundler.com/rails23.html

そしてそれはうまくいった。

于 2010-08-24T17:23:10.390 に答える
3

BundlerまたはRVMのGemsetsを使用して、アプリ内からi18ngemを使用できないようにすることができます。または、Railsアプリをアップグレードすることもできます。

于 2010-06-07T10:39:34.917 に答える
2
  1. レールバージョンをフリーズします。rake VERSION=2.3.5 rails:freeze:gems
  2. ファイルvendor/rails/ activesupport / lib / active_support/vendor.rbの24行目のバージョンを次のように修正します。gem 'i18n', '>= 0.1.3', '< 0.4.0'
于 2010-09-01T14:27:36.497 に答える
2

または単に編集します:/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/vendor.rb

そして向きを変えるgem 'i18n', '>= 0.1.3'

の中へgem 'i18n', '0.1.3'

于 2010-10-02T10:05:03.940 に答える