ruby-on-rails - Rails [Grape::API] 使用错误时如何包含元对象!方法?
问题描述
我正在使用Grape::API
gem 来构建 API 和响应。
我想出了一种在使用方法meta
响应时将对象添加到响应主体的present
方法。它是这样的:
present meta: { key: "value" }
present user, with: UserEntity
但是,当我想meta
使用这个添加有错误的对象时:
present meta: { key: "value" }
error!("Error message", 422)
我没有meta
在响应正文中得到对象。如何添加meta
对象?
PS:目前我已经定义了一个hack-ish方法:
def present_error(message, status_code, meta: nil)
body = {}
body[:errors] = [{ title: message }]
body[:meta] = meta if meta
status status_code
present body
end
解决方案
我认为没有像present
这里那样好的解决方案。
你能做的最好的可能是:
error!({ error: "Error message", meta: meta }, 422)
推荐阅读
- twilio - 如何在 Twilio 中将贵公司和部门的名称显示为来电显示?
- c# - 通过 WCF 访问类库
- c# - Visual Studio 2019 错误 XA0136:运行方式命令失败,并显示“运行方式:包已损坏安装
- onedrive - mc onedrive 中的“重解析点缓冲区中存在的标签无效”
- android - intent.putExtra:以下函数都不能使用提供的参数调用
- python - Scapy 将监听 wlan0 但不会监听设置为监控模式的 wlan1
- javascript - 返回对象内所有数组的名称和id属性值
- css - 顺风响应式设计展示块
- kubernetes - OpenShift 正在使用该范围内的第一个 UID 运行所有 pod
- javascript - 尝试从更新的突变响应中写入 Apollo gql 中的缓存