问题标签 [graphql-ruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
79 浏览

ruby-on-rails - GraphghqlController 中 current_user 的问题

我正在尝试为 in 分配一个值current_userGraphqlController但它不起作用。
这是我的代码graphql_controller.rb

current_user仍然为空。我不知道为什么。请问你能帮我吗?

0 投票
2 回答
160 浏览

ruby-on-rails - 我可以将查询从 query_type.rb 移到他们自己的文件/类中吗?

通常,在 GraphQL/Rails 中,你有一个query_type.rb看起来像这样的文件:

我所有的查询都在这个文件中完全实现。有没有办法做类似的事情mutation_type.rb并将查询实现范围扩展到其他文件?也许是这样的?:

查询类型.rb:

test_field_type.rb:

0 投票
1 回答
3585 浏览

ruby-on-rails - Graphql-ruby 如何将哈希定义为类型

是否有可能在 graphql-ruby 模式中将 Hash 定义为 Type 字段?在我的数据结构中有一个多语言字符串类型,它由作为键的语言代码和相应的文本组成。目前提供了 2 种语言,例如:

所以构建这样的类型就足够了:

提供 String 到 String 的 Map 的类型是什么样子的?相应的 typescript 界面如下所示:

更进一步,比如递归节点:

有没有办法在字段中使用它作为 graphql-ruby 模式中的 Types::NodeDescriptionType ?

0 投票
1 回答
737 浏览

ruby-on-rails - 我应该将与 Graphql 上的 excel 导出/导入相关的请求放在哪里?

我有一个建筑疑问。

我使用 GraphQL 作为 API 提供者,我需要开发一些 API 请求来从 excel 导入数据并将数据导出到我的项目中的 excel。

我应该在哪里使用 GraphQL API 创建它?

queries我研究并发现可以mutations在 GraphQL 上创建自定义...在这种情况下...

  • 这应该是一个query
  • 这应该是一个mutation
  • 还是别的什么?

旁注:我通过graphql-rubygem 在我的 Ruby on Rails 项目上使用 GraphQL API,并且我还使用mongoidgem 来处理数据库。

0 投票
0 回答
277 浏览

graphql - 为 React Admin 3.7 实现 GraphQL 数据提供程序

我正在使用 React Admin 和 GraphQL(由https://github.com/rmosolgo/graphql-ruby提供支持)建立一个项目。从表面上看,我应该实现自己的数据提供者。

查看文档,看起来 v3 的方法是返回一个由 Promises 组成的对象,例如:

但是,查看 GraphQL 数据提供程序示例,它们似乎正在使用 v2 方法。我不确定这是因为 GraphQL 数据提供者必须使用 v2 方式,还是因为它们根本没有更新。

简单地说,我想知道为什么不像上面那样返回一个对象并在每个方法中使用 Apollo 执行查询并格式化/返回结果。

我错过了什么吗?这种方式(我认为)不会运行自省查询,所以也许它有一个我不知道的缺点。

任何指针将不胜感激:)

0 投票
1 回答
126 浏览

ruby-on-rails - Ruby graphql 解析器替代方案:方法挂钩 --- 它是如何工作的?

我需要向 graphql 响应添加自定义字段,所以我考虑实现自己的自定义解析器。然而看到这个,我问自己是否真的需要一个自定义解析器:

首先,问问自己......你真的需要解析器吗?将逻辑放入解析器有一些缺点:

  • 由于它与 GraphQL 耦合,因此它比应用程序中的普通 Ruby 对象更难测试
  • 由于基类来自 GraphQL-Ruby,它会受到上游更改的影响,这可能需要更新您的代码

好吧,我完全同意。但我不明白以下替代方法是如何工作的。

以下是一些可供考虑的替代方案:

  • 将显示逻辑(排序、过滤等)放入应用程序中的普通 Ruby 类中,然后测试该类
  • 使用方法连接该对象,例如:

不幸的是,这对我来说似乎并不明显。

我有一个Request与 有has_many关系的模型Messages

我想向unread_message_countgraphql 添加字段,RequestType但我迷路了:

0 投票
1 回答
844 浏览

ruby-on-rails - Ruby graphql 如何定义不是 Active Record 的对象类型?

我想创建一个不在 ActiveRecord 中的 MentionType。当查询 SummaryCommentType 时,我想用它返回 MentionType。但我不知道该怎么做。

我对 graphql 完全陌生。对不起我的英语不好。

这是我的代码

0 投票
1 回答
383 浏览

ruby-on-rails - 如何在graphql中使用rails Helpers?

如何在我的 /app/graphql 目录中使用 /app/helpers 目录中的 Helpers?例如,有一个数据类型是嵌套的 JSON 对象,我得到了一个 JSON Schema 文件来描述它的结构。还有一个 JsonSchemaHelper,我想用它来针对 JSON 模式验证标量类型。像那样:

验证器看起来像:

include JsonSchemaHelper不起作用。

0 投票
1 回答
75 浏览

pagination - 带有限制的 Graphql-ruby 分页生成 n+1 个查询

想象一下,您在某事上有用户和订阅。您需要为用户的订阅进行分页。每个用户都有不同数量的订阅。这是我想到的第一件事:

但它不起作用,因为它通常对所有用户进行限制,但我们需要为每个用户。输出应该是这样的:

默认情况下,Graphql 为每个用户进行子查询以使其真实,但它是 n+1。有没有办法让它没有 n+1 并通过 cpu 和内存使用进行优化?

0 投票
2 回答
658 浏览

actioncable - 无法使用 graphql-ruby 订阅进行简单广播

我有一个准系统设置,用于通过 Action Cable 使用 graphql-ruby 更新广播。

  • 客户端在订阅时收到初始有效负载。
  • 客户端没有收到任何更新,并且update没有调用订阅类型的方法。后端没有错误。触发调用似乎被默默地忽略了。这就是我试图解决/正确理解它应该如何工作的问题。

我正在查看的文档:

订阅类型:

我试图触发更新的方式:

架构定义为:

我在 config/cable.yml 中为开发环境使用了 redis 适配器:

我错过了什么?任何故障排除提示?

更新:

一些诊断:

初始(和成功)订阅调用的 Rails 日志:

检查活动的 Redis PubSub 频道:

在 Rails 控制台中运行触发器调用的结果:

显而易见的是,Redis PubSub 频道称为“graphql-event::dateTime:”,而触发器调用通过不存在的“graphql-event::serverInfo:”频道进行广播。我不明白为什么实际的 Redis 频道被称为“graphql-event::dateTime”,而订阅查询位于顶级“ServerInfo”类型。