Rails 3.2:没有 i18n_key 的 ActiveRecord 模型 - 怎么可能以及如何修复?

Rails 3.2: ActiveRecord model without i18n_key - how could it possible and how to fix?

模型示例:

class ModelOne < ActiveRecord::Base
...
end

class ModelTwo < ActiveRecord::Base
...
end

来自 rails 控制台:

[1] pry(main)> ModelOne.model_name.i18n_key
NoMethodError: undefined method `i18n_key' for "model_one":String
[2] pry(main)> ModelTwo.model_name.i18n_key
=> :model_two

我该如何解决这个问题?

根据 ,由于 ModelOne.model_name 应该 return 您是 ActiveModel::Name 类型的对象,而不是 String 类型的对象,因此 ModelOne.model_name 方法可能已被覆盖。

因此,您必须决定删除覆盖(可能更好,除非有充分的理由),或者按照您认为合适的方式解决它。