zis*_*she 4 ruby ruby-on-rails graphql
我创建了新的 Rails 应用程序graphql,但在 6 个月以上的指南中遇到了很多问题。我怀疑graphql-ruby变化相当快。
所以我在resolve方法中的最后一个问题:
module Types
class QueryType < Types::BaseObject
graphql_name "Root Query"
description "The query root of this schema"
field :allProducts, [ProductType], null: false do
resolve ->(_obj, _args, _ctx) { Product.all }
end
end
end
Run Code Online (Sandbox Code Playgroud)
错误:
wrong number of arguments (given 1, expected 3)
/usr/local/var/rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/graphql-1.9.0.pre1/lib/graphql/schema/field.rb:430:in `resolve'
/Users/alder/Projects/_apps/service_exchange/any-do-api/app/graphql/types/query_type.rb:7:in `block in <class:QueryType>'
/usr/local/var/rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/graphql-1.9.0.pre1/lib/graphql/schema/field.rb:222:in `instance_eval'
/usr/local/var/rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/graphql-1.9.0.pre1/lib/graphql/schema/field.rb:222:in `initialize'
/usr/local/var/rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/graphql-1.9.0.pre1/lib/graphql/schema/member/accepts_definition.rb:142:in `initialize'
/usr/local/var/rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/graphql-1.9.0.pre1/lib/graphql/schema/field.rb:88:in `new'
/usr/local/var/rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/graphql-1.9.0.pre1/lib/graphql/schema/field.rb:88:in `from_options'
/usr/local/var/rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/graphql-1.9.0.pre1/lib/graphql/schema/member/has_fields.rb:52:in `field'
/Users/alder/Projects/_apps/service_exchange/any-do-api/app/graphql/types/query_type.rb:6:in `<class:QueryType>'
/Users/alder/Projects/_apps/service_exchange/any-do-api/app/graphql/types/query_type.rb:2:in `<module:Types>'
/Users/alder/Projects/_apps/service_exchange/any-do-api/app/graphql/types/query_type.rb:1:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我正在使用最新版本:
gem "graphql", "~> 1.9.0.pre1"
Run Code Online (Sandbox Code Playgroud)
但同样的错误 1.8.*
好吧,那resolve东西不再起作用了。下一个代码工作正常:
class QueryType < Types::BaseObject
graphql_name "RootQuery"
field :categories, [Types::CategoryType], null: false
def categories
Category.all
end
end
Run Code Online (Sandbox Code Playgroud)