Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Aliased Attribute Names Are Not Used In Error Responses

未关闭
#1,447 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
38/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
rails, ruby
领域
api, backend

调研方向

未指定实现文件或测试。复现委托的 attribute :active, delegate: :status_is_active 情况,并跟踪验证错误的序列化方式;完成标准是错误详情和 JSON:API source pointer 都使用 active 而不是 status_is_active

由索引模型根据 Issue 内容生成。

描述

This issue is a (choose one):

  • [X ] Problem/bug report.
  • Feature request.
  • Request for support. Note: Please try to avoid submitting issues for support requests. Use Gitter instead.

Checklist before submitting:

  • [ X] I've searched for an existing issue.
  • I've asked my question on Gitter and have not received a satisfactory answer.
  • I've included a complete bug report template. This step helps us and allows us to see the bug without trying to reproduce the problem from your description. It helps you because you will frequently detect if it's a problem specific to your project.
  • [ X] The feature I'm asking for is compliant with the JSON:API spec.

Description

I have a model with an attribute named status_is_active. In the API we want this to render as active so do the following in the resource:

attribute :active, delegate: :status_is_active

If there is an API error related to this attribute, the error reports the name from the model rather than the name from the resource. For example:

{
  "errors": [
    {
      "title": "is not included in the list",
      "detail": "status_is_active - is not included in the list",
      "code": "100",
      "source": {
          "pointer": "/data/attributes/status_is_active"
      },
      "status": "422"
    }
  ]
}

Expected: the error uses the name of the attribute in the resource rather than the name used in the model. For example:

{
  "errors": [
    {
      "title": "is not included in the list",
      "detail": "active - is not included in the list",
      "code": "100",
      "source": {
          "pointer": "/data/attributes/active"
      },
      "status": "422"
    }
  ]
}

Rationale: users of the API only know about what's in the API - returning a value from the model that is aliased in the API is confusing/wrong.

Thanks!

主要语言
Ruby
星标
2.3k
派生
546
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

JSONAPI-Resources/jsonapi-resources 的其他 Issue

查看 JSONAPI-Resources/jsonapi-resources 的全部 Issue

相似的 Issue

更多 Ruby Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。