对于API,我想返回实际的密钥化字符串。
所以:
User.errors.messages[:name]
#=> activerecord.errors.models.user.attrributes.blank
而不是
Can't be blank
我知道我可以通过创建实际翻译或在我的模型中的validates
方法中设置自定义错误来覆盖它,但我想知道是否有更低级别,更简单的方法来使rails返回“keyified”字符串,而不是通过翻译层解析它。
答案 0 :(得分:0)
我在SO上回答了一些类似的问题,但现在找不到它们......
我认为现在这是不可能的,因为ActiveModel::Errors::add方法不会将密钥存储到消息中,而只会存储派生消息。
从翻译文件等中反转获取密钥也不是一件容易的事。
我认为对于rails实际存储错误消息的密钥而不仅仅是消息本身来说,这将是一个有价值的补充。