我在 Mac OS 上运行 Rails 3.1.1 和 ruby 1.9.2,并且刚刚开始一个新项目,我想在其中使用 gettext 进行翻译。
在使用此处描述的 fast_gettext 时,我遵循了每一步:https://github.com/grosser/gettext_i18n_rails
安装和一切正常。但是当我尝试 rake gettext:find 时,我收到了这个错误信息:
$ bundle exec rake gettext:find
rake aborted!
undefined method `add' for "/Users/Olaf/.rvm/gems/ruby-1.9.2-p0":String
Tasks: TOP => gettext:find
在执行任何类型的 rake 任务时,我还必须使用 bundle exec,我遇到了此处描述的问题:
也许这是相关的。
有人知道发生了什么事吗?我有点绝望,几个小时以来一直坐在这里试图弄清楚。 Google 不提供任何提示。
谢谢! 奥拉夫
最佳答案
我遇到了类似的问题。我相信这归结为 gettext
和更新版本的 RubyGems (1.8+) 之间的不兼容。有一个 pull request解决了这个问题,但不幸的是它还没有被合并。
与此同时,您可以尝试将 fork (以及解决问题的提交)添加为 Gemfile 中的依赖项:
group :development do
gem 'gettext', git: 'https://github.com/cameel/gettext.git', ref: 'c3a8373'
gem 'ruby_parser'
gem 'locale'
end
关于ruby-on-rails - Rails 3 和 Gettext (fast_gettext) 非常奇怪,String 的未定义方法 'add',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7773408/