gpt4 book ai didi

ruby-on-rails - 在 GraphQL/Rails 中如何在 query_type 中传递参数?

转载 作者:行者123 更新时间:2023-12-04 02:59:06 25 4
gpt4 key购买 nike

所以我试图查询数据库中的单个用户,但最终得到:

"Field 'userSingle' doesn't accept argument 'first_name'"

当我运行以下查询时,我在 GraphiQL 中得到了它:
query GetSingleUser {
userSingle(first_name: "Test"){
first_name
last_name
}
}

在我的 query_type.rb 我有以下内容:
field :userSingle, !types[Types::UserType] do
resolve -> (obj, args, ctx) {
argument :first_name, !types.String
argument :id, types.ID
User.find(id: args[:id])}
end

最初我有:
field :userSingle, !types[Types::UserType] do
resolve -> (obj, args, ctx) {User.find(id: args[:id])}
end

同样的问题。如果我取出 id: 同样的问题。也有同样的问题:
  field :userSingle, !types[Types::UserType] do
resolve -> (obj, args, ctx) {
argument :first_name, !types.String
argument :id, types.ID
user = User.find_by(
id: args[:id],
first_name: args[:first_name])
}
end

最佳答案

您可以创建一个 user_type.rb包含以下内容的文件:

class Types::UserType < Types::BaseObject
description "A user object"

field :id, Integer, null: false
field :first_name, String, null: false
end

然后在 query_type.rb中有以下内容文件:
module Types
class QueryType < Types::BaseObject
...

# User query
field :user, UserType, null: true do
description "Find a user by first_name"
argument :first_name, String, required: true
end
def user(first_name:)
User.find_by(first_name: first_name)
end
end
end

完成所有这些后,查询应如下所示:
{
user(first_name: "name") {
id
firstName: first_name
}
}

关于ruby-on-rails - 在 GraphQL/Rails 中如何在 query_type 中传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50976093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com