如何返回未翻译的密钥

时间:2013-08-27 12:02:17

标签: ruby-on-rails activerecord localization ruby-on-rails-4

对于API,我想返回实际的密钥化字符串。

所以:

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

而不是

 Can't be blank

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

1 个答案:

答案 0 :(得分:0)

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

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

从翻译文件等中反转获取密钥也不是一件容易的事。

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