如何在 Rails 模型中设置人类可读的属性名称?

发布于 2024-10-12 21:37:08 字数 279 浏览 4 评论 0原文

这似乎是一个非常简单的问题——当我使用 form_for 或 fields_for 帮助程序从我的模型生成标记时,如何修改我的模型以自定义为特定属性显示的字符串?

或多或少同样的问题之前被问过[1< /a>],但答案是“国际化”,这不是我想要做的,我只是想覆盖一两个人性化的属性名称。

This seems like a really simple question -- when I'm using form_for or fields_for helpers to generate markup from my models, how can I modify my model to customize the string that appears for a particular attribute?

More or less the same question was asked before[1], but the answer was 'internationalize', and that's not what I'm trying to do, I just want to override one or two humanized attribute names.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧时模样 2024-10-19 21:37:08

也许您可以在模型中沿着 (未测试)

def self.human_attribute_name(*args)
  if args[0].to_s == "my_attribute"
    return "My Attribute"
  end
  super
end

该值将在标签中使用,除非您有相应的翻译,该翻译具有更高的优先级。

Maybe you'll be able to override human_attribute_name in your model along the lines of (not tested)

def self.human_attribute_name(*args)
  if args[0].to_s == "my_attribute"
    return "My Attribute"
  end
  super
end

This value will be used in the labels unless you have corresponding translations, which have a higher priority.

亚希 2024-10-19 21:37:08

您可以在 AR 类中覆盖 human_attribute_name 。请参阅此邮件列表帖子

You could override human_attribute_name in your AR class. See this mailing list post

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文