You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GraphQL-Ruby实现接口后无法继承接口字段报错如何解决

问题原因

代码存在语法笔误导致接口没有被正确关联,因此接口定义的字段没有被继承到实现类:
SomeProgramType 中声明实现接口的代码写错了命名空间分隔符:

# 错误写法(单冒号会被解析为关键字参数键,没有关联到实际接口常量)
implements Types:ProgramType
# 正确写法(双冒号是Ruby标准的命名空间分隔符)
implements Types::ProgramType

解决步骤

  • 修正上述笔误,将Types:ProgramType替换为Types::ProgramType
  • 重启本地GraphQL服务,刷新GraphiQL的Schema缓存后重新执行查询,即可正常获取name、type等接口继承字段。

可选兼容配置(修改后仍不生效时补充)

如果你使用的是1.9.x以下的旧版本GraphQL-Ruby,可以在ProgramType接口定义中显式声明开启字段继承:

module Types::ProgramType
  include Types::BaseInterface
  # 新增这一行显式开启字段继承
  inherit_fields true
  # ... 其余原有代码保持不变
end

内容的提问来源于stack exchange,提问作者KSC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:54:05