0

对于 API,我想返回实际的键控字符串。

所以:

User.errors.messages[:name]
#=> activerecord.errors.models.user.attrributes.blank 

代替

 Can't be blank

我知道我可以通过创建实际翻译或validates在模型中的方法中设置自定义错误来覆盖它,但我想知道是否有更低级别、更简单的方法来让 rails 返回“keyified”字符串而不是解析它通过翻译层。

4

1 回答 1

0

我在 SO 上回答了一些类似的问题,但现在找不到它们......

我认为现在这是不可能的,因为ActiveModel::Errors::add方法不将密钥存储到消息中,而只是存储派生消息。

从翻译文件等中反向获取密钥也并非易事。

我认为实际存储错误消息的密钥而不仅仅是消息本身,这将是对 rails 的一个有价值的补充。

于 2014-01-07T15:59:43.983 回答