Ruby on rails Rails引擎ActiveRecord型号I18n

Ruby on rails Rails引擎ActiveRecord型号I18n,ruby-on-rails,rails-activerecord,rails-i18n,Ruby On Rails,Rails Activerecord,Rails I18n,我有一个Rails应用程序,它依赖于一个单独的引擎(存储在供应商/Engine\u name中)。该引擎有一个ActiveRecord对象条: module Foo class Bar < ActiveRecord::Base # has an attribute bar_attr end end 我也试过: en: activerecord: attributes: bar: bar_attr: "TEST" 以及: 但不管怎样

我有一个Rails应用程序,它依赖于一个单独的引擎(存储在
供应商/Engine\u name
中)。该引擎有一个ActiveRecord对象

module Foo
  class Bar < ActiveRecord::Base
    # has an attribute bar_attr
  end
end
我也试过:

en:
  activerecord:
    attributes:
      bar:
        bar_attr: "TEST"
以及:

但不管怎样,当我从父应用程序调用
Foo::Bar.human\u attribute\u name(“Bar\u attr”)
时,我会得到“Bar attr”(例如默认的human属性名称)。请注意,当我尝试使用以下方法进行翻译时,
Foo::Bar.model\u name.human
也会出现同样的问题:

en:
  activerecord:
    models:
      ...
我不确定应用程序/引擎结构是否相关,因为我在父应用程序的翻译文件中也尝试了上述三种
en.yml
格式,但没有成功


要正确翻译这些模型名称/属性,我缺少了什么?

搜索了一段时间,但我在另一个问题中找到了答案,因为我还试图让i18n在Rails引擎中为ActiveRecord工作

根据上面的例子,答案可能是

en:
  activerecord:
    attributes:
      foo/bar:
        bar_attr: "TEST"

它起作用了!你太棒了。同样,StackOverflow优于官方文档。
en:
  activerecord:
    models:
      ...
en:
  activerecord:
    attributes:
      foo/bar:
        bar_attr: "TEST"