GraphQL ObjectType с полем Array, возвращающим ноль - PullRequest
1 голос
/ 11 мая 2019

У меня есть поле, которое является массивом, который я хочу определить в своем преобразователе.Проблема в том, что мой результат не возвращает поле, представляющее собой массив, а просто объект с нулевыми значениями.


  field :pies do 
    type types[Types::OutputType]
    resolve -> (_obj, _args, ctx){
      pies = []
      CookBook.pages.each do |page|
        labels = []
        labels << OpenStruct.new(
          id: 1,
          name: "blueberry"
        )
        pie = OpenStruct.new(
          id: 1,
          labels: labels
        )
        pies << pie
      end
      pies
    }
  end
Types::OutputType = GraphQL::ObjectType.define do
    name 'OutputType'

    field :id, types.ID
    field :labels, types[Types::LabelType]
end
Types::LabelType = GraphQL::ObjectType.define do
    name 'LabelType'
    field :id, types.ID!
    field :name, types.String
end

Это запрос:

# Write your query or mutation here
{
  pies{
    id,
    labels{
        name
    }
  }
}

Это результат:

{
  "data": {
    "pies": [
      {
        "id": "9",
        "labels": {
          "name": null
        }
      },
      {
        "id": "3",
        "labels": {
          "name": null
        }
      },
      ...
    ]
  }
}

Почему мое поле меток не возвращает массив, а просто возвращает объект с нулями?

...