2016-10-23 14 views
0

それで、私はレール上のルビーについて取り組んでいます。これは私のコードです:Graphqlで動的変数を定義する方法は?

require 'graphql/client' 
require 'graphql/client/http' 

HTTP = GraphQL::Client::HTTP.new("Graph-API-Web-Site") 
Schema = GraphQL::Client.load_schema(HTTP) 
Client = GraphQL::Client.new(schema: Schema,execute: HTTP) 


Query = Client.parse <<-'GRAPHQL' 
    query($message: String = "Hello") { 
    stickers(query: $message, first: 21, after: "") { 
     edges { 
     node { 
      fileUrl(fullWatermarked: true) 
     } 
     } 
    } 
    } 
GRAPHQL 


result = Client.query Query 

puts result.data.inspect 

は、どのように私はステッカー{query: .....}領域に特定の値を与えることができますか?プログラムの実行でメッセージの価値を変えたい。たとえば、メッセージが変更された場合、Client.queryは別のものを返す必要があります。

+0

一つの重要な注意事項を変更することを経由して私の問題を解決しました。 ** $ **で始まる変数は使用しないでください。RubyではGLOBAL VARIABLESとみなされます。 –

+0

@ Fire-Dragon-DoL:これらはRubyの変数ではありません。これらは、GRAPHQLのheredocの中にあるGraphQLの中のGraphQL変数です。 – CommonsWare

+0

オハイオ州、申し訳ありません、私は完全にそれを誤解して、私を許して!構文のハイライトが私をひどく騙したと思います –

答えて

0

私はちょうどresult = Client.query Query ===>result = Client.query Query, variables: { message: "hello" }

関連する問題