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
方法可能已被覆盖。
因此,您必须决定删除覆盖(可能更好,除非有充分的理由),或者按照您认为合适的方式解决它。
模型示例:
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
方法可能已被覆盖。
因此,您必须决定删除覆盖(可能更好,除非有充分的理由),或者按照您认为合适的方式解决它。