Ruby on rails 在GraphQL/Rails中,如何在查询类型中传递参数?

Ruby on rails 在GraphQL/Rails中,如何在查询类型中传递参数?,ruby-on-rails,graphql,graphiql,Ruby On Rails,Graphql,Graphiql,因此,我试图查询数据库中的单个用户,但最终得到: "Field 'userSingle' doesn't accept argument 'first_name'" 当我运行以下查询时,我在GraphiQL中得到了这一点: query GetSingleUser { userSingle(first_name: "Test"){ first_name last_name } } 在我的query_type.rb中,我有以下内容: field :userSingle, !type

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

"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
class Types::UserType < Types::BaseObject
  description "A user object"

  field :id, Integer, null: false
  field :first_name, String, null: false
end
最初我有:

field :userSingle, !types[Types::UserType] do
  resolve -> (obj, args, ctx) {User.find(id: args[:id])}
end
同样的问题。如果我拿出身份证:同样的问题。同样的问题还有:

  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

而不是!在查询类型文件中键入[types::UserType]以 字段:usersingledo 类型类型::用户类型 论点 决定 ..
结束

您可以使用以下内容创建一个
用户类型.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
class Types::UserType < Types::BaseObject
  description "A user object"

  field :id, Integer, null: false
  field :first_name, String, null: false
end
所有这些就绪后,查询应如下所示:

{
  user(first_name: "name") {
    id
    firstName: first_name
  }
}