1
resolve
のメソッドからgraphql-rubyのURLヘルパーにアクセスして、url
のようなフィールドを生成しようとしています。私はこれを行うことができます知っている:グラフヘルパーをgraphql-rubyリゾルバに含める
EventType = GraphQL::ObjectType.define do
field :url, !types.String do
resolve ->(event, _args, _ctx) do
Rails.application.routes.url_helpers.event_path event
end
end
end
私はそれがすべての呼び出しを前置避けるために、あなたのモデルでinclude Rails.application.routes.url_helpers
することが可能です知っているが、graphql-ルビーでこれを行うにはどのように?
さらに、event_url
を呼び出すと、ホストとポートはありません。明らかに、私はすべてのヘルパーコールにhost: request.host
を追加することを避けたいと思います。私はリゾルバのコンテキストにurl_helpers
を注入config/initializers/graphql.rb
作成することによって、それを解決してきました
また、コントローラーで使用できる他のヘルパーのために 'ActionController :: Helpers'を含めることもできます。 –