我正在开发一个Ruby on Rails 4.1.0应用程序,该应用程序具有用于移动客户端的API和用于其他类型用户的后端。 API允许移动客户端注册用户,但我可能无法获得正确的数据,因此在这种情况下,我需要告诉移动客户端错误在哪里。我使用设计3.2.4进行用户管理。所以,现在,如果移动用户想要注册并验证失败,那么这就是我返回移动客户端的JSON:
{"errors": [
"email": ["is not valid"]
]}
由于移动应用程序将是多语言,应用程序开发人员要求我使用密钥而不是句子返回所有错误,因此我应该返回类似的内容:
{"errors": [
"email": ["invalid"]
]}
但我无法轻易找到方法。当我运行user.valid?
时,user.errors
对象充满了验证错误的i18n转换,因此我无法获取其密钥。
我尝试创建一个i18n后端(继承自I18n::Backend::Simple
并覆盖translate
方法),但我遇到了default
选项无法解决的问题希望在发送设计确认电子邮件时处理,或重置密码说明电子邮件。
所以,我想知道我的记录无效的原因,但没有i18n字符串,只有密钥。关于如何获得它的任何想法?
谢谢!