首页 文章

I18n和i18n-active_record - 没有I18n :: Backend :: ActiveRecord类?

提问于
浏览
2

我正在使用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 回答

  • 2

    尝试在模块定义上方的代码中明确要求类,如下所示:

    require 'i18n/backend/active_record'
    

    并确保 Gemfile 中有 i18n-active_record 宝石 .

相关问题