Rails i18n特定的错误验证格式

时间:2012-10-01 14:30:01

标签: ruby-on-rails ruby validation activerecord internationalization

因此,您可以使用以下内容更改en.yml中的错误消息:

en:
  activerecord:
    errors:
      models:
        foo:
          attributes:
            amount:
              greater_than_or_equal_to: "Custom GTOE error message."

但是,这将说明以下内容:

Amount Custom GTOE error message.

我知道我可以通过以下方式将其删除:

en:
  activerecord:
    errors:
      format: "%{message}"

但是我可以仅仅通过此验证来调用%{attribute}吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

我不确定是否可以将其从en.yml中删除,但是您可以定制一个我认为具有所需签名的标签:

def discount_cannot_be_greater_than_total_value
    if attribute > total_value
      errors.add(:base, "can't be greater than total value")
    end
end

答案 1 :(得分:-5)

 validates :amount, :numericality => { :greater_than_or_equal_to => YOUR_VALUE, :message => YOUR_ERROR_MESSAGE }