Ruby on rails I18n和I18n-active_记录-没有I18n::Backend::ActiveRecord类?
我将rvm与ruby 1.9.3、rails 3.1、gems i18n和i18n-active_record以及mysql一起使用。在vendor/plugins/18n-active_record/i18n-database-backend.rb中,我得到了Ruby on rails I18n和I18n-active_记录-没有I18n::Backend::ActiveRecord类?,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,internationalization,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,Internationalization,我将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 ... 模块I18n 模块后端 类数据库
module I18n
module Backend
class Database < ActiveRecord
...
模块I18n
模块后端
类数据库
命令rails服务器、rails控制台甚至rake db:version失败,错误为:
/vendor/plugins/i18n_database_backend/lib/i18n_database_backend.rb:3:in `<module:Backend>': wrong argument type Module (expected Class) (TypeError)
/vendor/plugins/i18n_database_backend/lib/i18n_database_backend.rb:3:in`':错误的参数类型模块(应为类)(TypeError)
看起来应用程序正在尝试使用ActiveRecord模块,而不是I18n::Backend::ActiveRecord(http://rubydoc.info/docs/rails/2.3.8/I18n/Backend/ActiveRecord) . 这种行为的原因是什么?当然安装了gemi18n,并且执行了命令包安装。尝试在模块定义上方的代码中明确要求类,如下所示:
require 'i18n/backend/active_record'
并确保您的gem文件中有i18n-active\u记录gem