有铁路2.3.x忽略I18N宝石
-
24-10-2019 - |
题
我有一个Rails 2.3.5项目,该项目使用了导轨的本地化功能。我还恰好安装了Rails 3 Beta(这取决于I18N宝石)。 Rails 2.3.5会很乐意自行处理本地化(没有安装I18N),但是,如果有I18N宝石可用,则可以使用它。
最近,我升级了我的宝石,现在安装了I18N的0.3.7和0.4.0版本。 Rails当然想加载和使用最新版本,该版本在我的项目中导致错误。我尝试将GEM版本设置为0.3.7,该版本绕过Web应用程序中的错误。但是,我们使用Resque和Resque_mailer来延迟消息的发送。当工人从队列中获取邮件器作业时,它会忽略我的config.gem要求。
理想情况下,我想告诉Rails完全不使用I18N宝石。我怎么做?
更新: 从Beta 4开始,Rails 3现在需要I18N版本0.4.1。我看不出更多的人没有遇到这个问题,因为如果您同时安装了Rails 2和Rails 3,您将遇到这一点。
解决方案
其他提示
- 冻结导轨版本:
rake VERSION=2.3.5 rails:freeze:gems
- 修复文件供应商/rails/activesupport/lib/active_support/vendor.rb行中的版本24至:
gem 'i18n', '>= 0.1.3', '< 0.4.0'
或只是编辑: /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'
不隶属于 StackOverflow