Обычно кажется, что запросы GraphQL в Rails ожидают установления соединения с базой данных, например, если запрос возвращает UserType
, то GraphQL, похоже, ожидает существования app/models/user.rb
, то есть требуется соединение с базой данных. Но я бы хотел, чтобы запрос возвращал произвольные данные, которые не получены из запроса к базе данных через конкретную модель. Я пробовал что-то вроде этого:
# app/graphql/types/query_type.rb
module Types
class QueryType < Types::BaseObject
...
include Queries::ArbitraryData # problem occurs here...
...
end
end
# app/graphql/queries/arbitrary_data.rb
module Queries
class ArbitraryData < Queries::BaseQuery
description 'some exciting information'
type Types::ArbitraryDataType, null: false
def resolve
return {info: 'some exciting information will go here'}
end
end
end
# app/graphql/types/arbitrary_data_type.rb
module Types
class ArbitraryDataType < Types::BaseObject
field :info, JsonType, "some exciting information", null: false
def info
object[:info]
end
end
end
... но, не повезло. С вышеупомянутой конфигурацией я получаю wrong argument type Class (expected Module)
в строке, отмеченной в первом файле.
Предположительно, я неправильно понял, как это должно работать, предполагая, что это возможно. Предложения приветствуются!