在Rails中更改错误字段名称

时间:2011-04-26 03:11:30

标签: ruby-on-rails ruby

我想知道是否有办法更改与之关联的验证错误的字段名称。例如,如果我在没有任何数据的情况下提交名字中的名字(真的是fname),那么它就会大喊Fname can't be blank.

是否可以将其更改为First Name can't be blank

1 个答案:

答案 0 :(得分:71)

现在的一般做法是按照以下方式编辑locals

# config/locales/en.yml
en:
  activerecord:
    attributes:
      user:
        fname: "First Name"

您的错误消息现在会说“名字不能......”

为了完整起见,您还有另一种选择。这是将以下内容添加到您的用户模型中:

class User < ActiveRecord::Base

  HUMANIZED_ATTRIBUTES = {
    :fname => "First Name"
  }

  def self.human_attribute_name(attr, options = {}) # 'options' wasn't available in Rails 3, and prior versions.
    HUMANIZED_ATTRIBUTES[attr.to_sym] || super
  end

end