我正在使用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 .
1 回答
尝试在模块定义上方的代码中明确要求类,如下所示:
并确保
Gemfile
中有i18n-active_record
宝石 .