设置 ruby-graphql:未找到用户类型



我正在尝试使graphql-ruby在我的rails应用程序上运行。到目前为止,我或多或少地设置了所有内容,但是当我在浏览器中转到/graphiql 页面时,我无法访问我的自定义 UserType(不过,预定义的测试用例以前有效。我在开发人员工具的网络选项卡中收到此错误消息:NoMethodError in GraphqlController#execute# 的未定义方法"用户类型"GraphQL::D efine::TypeDefiner:0x007fa3728b2348

你可以帮我吗?

我的架构定义如下:(leaves_messenger_schema.rb)

LeavesMessengerSchema = GraphQL::Schema.define do
  mutation(Types::MutationType)
  query(Types::QueryType)
end

我的用户类型定义如下:(类型/user_type.rb)

Types::QueryType = GraphQL::ObjectType.define do
  name "Query"
  field :viewer, types.UserType do
    resolve ->(obj, args, ctx) {
      ctx[User.last]
    }
  end
end

和我的用户类型(类型/user_type.rb):

Types::UserType = GraphQL::ObjectType.define do
  name 'User'
  description 'A user'
  field :id, types.String
  field :email, types.String
end

My routes.rb 是按生成器定义的。这应该是正确的,因为我可以导航到 graphiql 页面并且测试用例有效。

非常感谢您能给我的任何建议!

我认为你打错了字,尝试从这里更改你的代码

field :viewer, types.UserType dofield :viewer, Types::UserType do

最新更新