Rails Rails ActiveRecord 模块化 Model 国际化问题

u1351384616 · 2015年10月01日 · 最后由 u1351384616 回复于 2015年10月02日 · 2223 次阅读

可以正常国际化的代码

zh-CN.yml
zh-CN:
  activerecord:
    attributes:
      user:
        name: "名字"

class User < ActiveRecord::Base
end

下面是不能正常国际化的代码

zh-CN.yml
zh-CN:
  activerecord:
    attributes:
      system:
        user:
          name: "名字"

class System::User < ActiveRecord::Base
end

类似 System::User 的 model, 在 zh-CN.yml 文件中应该怎么写?

spree 里的例子:

en:
  activerecord:
    attributes:
      spree/address:

命名空间用 / 表示,你的例子就是:

zh-CN:
  activerecord:
    attributes:
      system/user:
        name: "名字"

楼上的是正解!

如果还不清楚,可以看 active record 源码。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号