Я пытаюсь поиграть с рельсами, подключенными к graphql, и у меня возникает следующая ошибка при попытке отобразить серию сообщений пользователя.
"Field 'posts' is missing required arguments: id"
Вот мой запрос:
query {
posts(user_id: 10, type: "Video") {
title
file
}
}
И в моем файле query_type.rb у меня определено следующее:
field :posts, [Types::PostType], null: false do
argument :id, ID, required: true, as: :user_id
argument :type, String, required: true
end
def posts(user_id:, type:)
posts = Post.where("user_id = ? AND type = ?", user_id, type)
end
Это простой запрос. Я новичок в этой технологии (GraphQL) и не понимаю, в чем проблема. Может ли кто-нибудь определить, что не так? Спасибо.





Вам нужно отправить точное имя в параметрах при выполнении запроса.
В вашем определении схемы у вас есть 2 обязательных аргумента, называемых id типа ID и type типа string. Итак, у вас есть 2 варианта:
Обновите свой запрос, чтобы отправить его с правильным именем id:
query {
posts(id: "10", type: "Video") {
title
file
}
}
Или обновите определение схемы, чтобы получить user_id:
field :posts, [Types::PostType], null: false do
argument :user_id, ID, required: true, as: :user_id
argument :type, String, required: true
end
def posts(user_id:, type:)
posts = Post.where("user_id = ? AND type = ?", user_id, type)
end