gpt4 book ai didi

ruby-on-rails - 如何翻译 Rails 3.2 中的 ActiveRecord 属性名称?

转载 作者:行者123 更新时间:2023-12-04 01:24:01 25 4
gpt4 key购买 nike

我的模型( User )中有以下验证:

  validates :first_name,:length => {:minimum => 2,:maximum => 50},:format => { :with => /[a-zA-Z]+/ }

我的 yml 语言环境文件中有以下内容:
 attributes:
first_name:
too_short: "First name is too short"
too_long: "First name is too long"
invalid: "First name is not valid"

现在,如果我开始一个 rails console ,并写出以下内容:
a = User.new
a.valid?
a.errors.full_messages

我会看到以下错误:
["First name First name is too short", "First name First name is not valid"]

如您所见,属性名称也被添加到字段错误之前。到目前为止,在我的代码中的所有地方,我都使用了 model.errors[:field] ,这将始终显示我在 yml 文件中的字符串,但我想将字符串更改为:
 attributes:
first_name:
too_short: " is too short"
too_long: " is too long"
invalid: " is not valid"

并使用 full_messages 版本。问题是,我不知道如何翻译属性名称。例如,让我们说,我希望先有 Name 而不是 First name。我该怎么做?

最佳答案

你可以在这里找到答案 http://guides.rubyonrails.org/i18n.html#translations-for-active-record-models

在你的 config/locale/(your_lang).yml

en: 
activerecord:
models:
user: Dude
attributes:
user:
first_name: "Name first"

使用您需要使用的语言符号更改“en:”

干杯

关于ruby-on-rails - 如何翻译 Rails 3.2 中的 ActiveRecord 属性名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10812774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com