在子目录中运行GraphQL (graphiql-rails)的方法

经过调查,我发现尽管在开发环境下可以运行,但在部署后却无法正常工作,原因是 graphiql-rails 没有考虑子目录。

暂时,当自行指定 ActionController::Base.relative_url_root 时,它能正常工作。

Rails.application.routes.draw do
  mount GraphiQL::Rails::Engine, at: "/graphiql", graphql_path: "#{ActionController::Base.relative_url_root}/graphql"
  post "/graphql", to: "graphql#execute"
end

通常情况下,ActionController::Base.relative_url_root通常为空,因此始终以上述方式进行编写是没有问题的。

广告
将在 10 秒后关闭
bannerAds