我有一个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,您将遇到这一点。

有帮助吗?

解决方案

我遵循此处定义的说明:

http://gembundler.com/rails23.html

它起作用了。

其他提示

您可以使用 邦德勒 或RVM 宝石 使I18N宝石从应用程序中不可用。或者您可以升级您的Rails应用程序。

  1. 冻结导轨版本: rake VERSION=2.3.5 rails:freeze:gems
  2. 修复文件供应商/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'

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top