ruby验证错误消息需要更改

时间:2011-03-08 18:27:23

标签: ruby-on-rails validation message

我有一个名为'dropbox'的模型,它扩展了'program'。程序具有以下验证:

validates_presence_of :network_id, :name

所以当你尝试创建一个dropbox,把它们留下来时,你(不出所料)得到以下的vaidation消息:

* Network can't be blank
* Name can't be blank

问题是,在'dropbox'的上下文中,我们称之为'网络''类别'。如何更改网络不能为空错误消息类别不能为空

--- ---编辑

我试过了:

activerecord:
  attributes:
    dropbox:
      network_id: Category

但这没有任何影响。但是,这有效:

activerecord:
  attributes:
    programme:
      network_id: Category

但会在任何地方更改网络名称(因为我只需要将其更改为dropbox)。我相信这是因为network_id是程序中的属性而dropbox只是对此进行扩展,但必须有一种方法!

1 个答案:

答案 0 :(得分:2)

您可以使用以下语言环境:

activerecord:
  attributes:
    dropbox:
      network: Category

将其粘贴在config / locales / en.yml中以更改显示的属性名称。创建一些错误消息:

errors:
  messages:
    dropbox:
      cant_be_blank: Oops!

然后向模型添加消息选项:

validates_presence_of :network_id, :name, :message => I18n.t('activerecord.errors.messages.dropbox.cant_be_blank')

可以找到更多信息here