2017-10-15 8 views
0

私は自分のレールアプリでgraphql-rubyを動作させようとしています。これまでのところすべてを設定していますが、ブラウザの/ graphiqlページに移動すると、私のカスタムUserTypeにアクセスすることはできません(事前に定義されたテストケースが動作しました。開発者用ツールのネットワークタブでのメッセージ:GraphqlController#で NoMethodError# GraphQLため 未定義のメソッド `のUserType」を実行::定義:: TypeDefiner:0x007fa3728b2348ruby​​-graphqlの設定:UserTypeが見つかりません

あなたは私を助けることができる

マイ?スキーマは次のように定義されます。(leaves_messenger_schema.rb)

LeavesMessengerSchema = GraphQL::Schema.define do 
    mutation(Types::MutationType) 
    query(Types::QueryType) 
end 
(タイプ/ user_type.rb)

Types::QueryType = GraphQL::ObjectType.define do 
    name "Query" 

    field :viewer, types.UserType do 
    resolve ->(obj, args, ctx) { 
     ctx[User.last] 
    } 
    end 
end 

と私のUserType(タイプ/ user_type.rb):

Types::UserType = GraphQL::ObjectType.define do 
    name 'User' 
    description 'A user' 

    field :id, types.String 
    field :email, types.String 
end 

私のroutes.rbをのあたりのように定義され、以下のように

私のUserTypeが定義されていますジェネレータ。私はgraphiqlページに移動し、テストケースがうまく動作するので、これは正しいはずです。

アドバイスをいただきありがとうございます!

+0

ああにこの

field :viewer, types.UserType doからあなたのコードを変更しようと、あなたがタイプミスをしたと思うし、私はおそらく代わりの種類ののUserType =を記述する必要があります知っている::のUserType =、私は試してみましたそれが役立つかどうかを確認すること。前者のバージョンでも同じエラーが表示されます。 – jj56723

答えて

0

iはfield :viewer, Types::UserType do

+0

cool!はい、うまくいきます。それはもっと意味をなさない:)私はまだすべてがどのように動作し、ドキュメントがtype.UserTypeで何かを持っていたことをまだよく理解していませんでしたが、私は別の場所で別のものをフォーマットしなければならないと思います。ありがとう! – jj56723

関連する問題