2017-10-10 111 views
0

我正在尝试为使用store_accessor的“A”模型设置类型。我不知道如何定义具有JSON列的列 - :富graphql中的Rails jsonb列

class A < ActiveRecord 
    store_accessor :foo, :bar, :baz 
end 

Types::AType = GraphQL::ObjectType.define do 
    name ‘A’ 

    field: id, !types.ID 
    field :bar, !types.String, hash_key: :bar 
    field :baz, !types.String, hash_key: :baz 
end 

回答

1

创建自定义ScalarType称为JSONType

JSONType = GraphQL::ScalarType.define do 
    name "JSON Type" 
    coerce_input -> (value) { JSON.parse(value) } 
    coerce_result -> (value) { value } 
end 

而且在对象类型定义消耗它

field :foo, JSONType do 
    resolve Resolvers::Foo.new 
end