Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将I18n与Rails ActiveRecord消息一起使用_Ruby On Rails_Ruby On Rails 3_Validation_Activerecord_Internationalization - Fatal编程技术网

Ruby on rails 将I18n与Rails ActiveRecord消息一起使用

Ruby on rails 将I18n与Rails ActiveRecord消息一起使用,ruby-on-rails,ruby-on-rails-3,validation,activerecord,internationalization,Ruby On Rails,Ruby On Rails 3,Validation,Activerecord,Internationalization,我正在构建一个应用程序,使用I18n进行不同语言的显示。此时,验证消息以这种方式显示 en USERNAME CAN'T BE BLANK zh CN USERNAME 不能为空字符 我想将属性USERNAME转换为其他字符串。因此,我按照中的说明在我的语言环境文件中添加了以下行 en: activerecord: attributes: user: username: "User Name" zh-CN: activerecord:

我正在构建一个应用程序,使用I18n进行不同语言的显示。此时,验证消息以这种方式显示

en

USERNAME CAN'T BE BLANK
zh CN

USERNAME 不能为空字符
我想将属性USERNAME转换为其他字符串。因此,我按照中的说明在我的语言环境文件中添加了以下行

en:
  activerecord:
    attributes:
      user:
        username: "User Name"


zh-CN:
  activerecord:
    attributes:
      user:
        username: "用户名"
当我运行human_attribute_name命令时,它可以被翻译

ruby-1.9.2-p290 :001 > User.human_attribute_name("username")
 => "Username"
但在验证消息中,它只是将属性名的所有字符大写

CURRENT_PASSWORD 不能为空字符
我错过什么了吗?我怎样才能修好它

谢谢大家。:)

我想你可能需要

en:
  activerecord:
    errors:
      models: 
        user:
          attributes:
            username: "User Name"

我犯了一个错误。我添加了一个自定义助手来处理验证消息。有关的I18n翻译是正确的。我可以使用human\u attribute\u name来翻译arribute

谢谢@chrispanda。我试过你的方法,但问题没有解决。我更新了问题。你有什么建议吗?谢谢老兄。我刚刚发现我使用了一个helper方法来覆盖验证消息设置。对此我很抱歉。