Ruby on rails 如何获取模型的本地化属性标签?

Ruby on rails 如何获取模型的本地化属性标签?,ruby-on-rails,localization,Ruby On Rails,Localization,假设我有一个典型的“用户”模型,带有“名字”字段。我这样设置本地化以处理人类可读的标签: en: activerecord: attributes: user: first_name: "First Name" 对于给定的@user对象,我可以访问“First Name”标签以便在视图中使用吗 我相信这是可能的-我似乎不容易在任何地方找到它。模型属性与模型,而非实例 对于用户模型,您可以编写 User.human\u属性名称(:first\u name)

假设我有一个典型的“用户”模型,带有“名字”字段。我这样设置本地化以处理人类可读的标签:

en:
  activerecord:
    attributes:
      user:
        first_name: "First Name"
对于给定的@user对象,我可以访问“First Name”标签以便在视图中使用吗


我相信这是可能的-我似乎不容易在任何地方找到它。

模型属性与模型,而非实例

对于
用户
模型,您可以编写

User.human\u属性名称(:first\u name)
如果您真的想从用户实例中获取值,那么

@user.class.human\u属性\u名称(:first\u name)
这里记录了您几乎完全相同的示例
模型属性与模型,而非实例

对于
用户
模型,您可以编写

User.human\u属性名称(:first\u name)
如果您真的想从用户实例中获取值,那么

@user.class.human\u属性\u名称(:first\u name)
这里记录了您几乎完全相同的示例
不确定为什么需要该
@user
对象,因为对于所有的用户对象,
名字标签都是相同的

试试看:

 I18n.t "activerecord.attributes.user.first_name"
更多的死亡

更新


@colinux
给出的答案是最优雅的<代码>用户。人类属性\u名称(:first\u name)
使用该名称。

不确定为什么需要该
@User
对象,因为对于所有用户对象,
first\u name
标签是相同的

试试看:

 I18n.t "activerecord.attributes.user.first_name"
更多的死亡

更新


@colinux
给出的答案是最优雅的
User.human\u attribute\u name(:first\u name)
使用该名称。

是的-您的第一个示例正是我想要的。我知道我100%地读了那一页,完全没有读到“Model.human_attribute_name(attribute)”。第二部分也可以,但当我写这篇文章时,我没有直接考虑模型与实例。是的,你的第一个例子正是我想要的。我知道我100%地读了那一页,完全没有读到“Model.human_attribute_name(attribute)”。第二部分也可以,但当我写这篇文章时,我没有直接考虑模型与实例。