我有一个具有 HTML 和 JSON 端点的 Rails 应用程序,并且 iOS 应用程序正在使用 JSON。iOS 开发人员希望将所有错误消息输出从类似{"errors":{"email":["has already been taken"],"password":["is too short (minimum is 6 characters)"]}}
的形式更改为 form { "error" : "message"}
,但似乎没有一个好地方来进行单个修复/格式化。
我的感觉是这里有3个不同的步骤:
- 仅修改 JSON 响应的错误响应
- 调用
.full_messages
所有错误 - 标准化键,因此
errors
或其他变体变得简单error
我的问题:
- 是否有地方
full_messages
为所有 JSON 消息设置错误格式,还是需要将其拼接到所有错误调用中? - 是否有地方为所有错误标准化密钥?
- 我想我可以重新打开
as_json
,ActiveRecord::Base
但可能还有其他错误不是来自 AR...
- 我想我可以重新打开
潜在项目
这些是迄今为止已经提到的潜在解决方案。
- 演讲者
- 这对于聚合来自多个模型的信息似乎很有用,但仍然需要在每个方法中调用新的类。
- 我希望有一个更高级别的解决方案,它可以捕获输出并在传递它之前重新格式化它,而无需在整个应用程序中手动插入它。