我正在使用rvm和ruby 1.9.3,rails 3.1,gems i18n和i18n-active_record和mysql。在vendor / plugins / 18n-active_record / i18n-database-backend.rb我有
module I18n
module Backend
class Database < ActiveRecord
...
命令rails server,rails console甚至rake db:version失败,错误:
/vendor/plugins/i18n_database_backend/lib/i18n_database_backend.rb:3:in `<module:Backend>': wrong argument type Module (expected Class) (TypeError)
看起来应用程序正在尝试使用ActiveRecord模块而不是I18n :: Backend :: ActiveRecord(http://rubydoc.info/docs/rails/2.3.8/I18n/Backend/ActiveRecord)。这种行为的原因是什么?当然安装了Gem i18n,并执行了命令bundle install。
答案 0 :(得分:2)
尝试在模块定义上方的代码中明确要求类,如下所示:
require 'i18n/backend/active_record'
确保i18n-active_record
中有Gemfile
个宝石。