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

时间:2019-06-23 08:19:27

标签: ruby-on-rails localization

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

en:
  activerecord:
    attributes:
      user:
        first_name: "First Name"

对于给定的@user对象,我可以访问该“名字”标签以在视图等中使用吗?

我确信这是可能的-我似乎很难在任何地方找到它。

2 个答案:

答案 0 :(得分:2)

模型属性与... 模型相关,与实例无关。

对于您要编写的open_win模型

User

如果您真的想从用户实例中获取值,那么

User.human_attribute_name(:first_name)

这里记录了您几乎准确的示例 https://guides.rubyonrails.org/i18n.html#translations-for-active-record-models

答案 1 :(得分:0)

不确定为什么需要该'CREATE TABLE `iot_devices` ( `pk` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) DEFAULT NULL, `device_name` varchar(100) NOT NULL, `delete_date` timestamp NULL DEFAULT NULL, `mac_address` varchar(12) DEFAULT NULL, PRIMARY KEY (`pk`), UNIQUE KEY `idx_device_id` (`device_id`), UNIQUE KEY `idx_mac_address_delete_date` (`mac_address`,`delete_date`), ) 对象,因为对于所有用户对象,@user标签都是相同的。

只需尝试:

first_name

更多{at {3}}。

更新

I18n.t "activerecord.attributes.user.first_name" 的回答最优雅。 @colinux使用那个。