问题标签 [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.
ruby-on-rails - dry-rb_autoinject 和 GraphQL
我正在尝试制作一个 GraphQL API,但也通过dry-rb_autoinject 实现依赖注入。我设法通过控制器和上下文来做到这一点。这是我的测试 QueryType。
而在 graphql_controller 我只是做
但是这个解决方案似乎并不是很好,因为我导入了所有服务,即使是那些我不需要的当前字段。有没有更好的方法,也许不是通过上下文?
ruby - 如何使用传递给 Graphql ruby 字段的参数来转换结果?
我正在寻找类似于 graphql 教程中所做的事情:https ://graphql.org/learn/queries/#arguments
我想将英尺/米传递给缩放器字段以转换返回的结果。
我不知道如何使用 graphql-ruby 在 ruby 中做到这一点。
我目前有一个看起来像这样的类型:
我发现每个返回的实例都会调用解析器方法(高度)......但我不知道如何访问当前值。
谢谢
ruby - 如何覆盖 graphql-ruby 中的 camelCase 命名约定?
我正在使用出色的 graphql-ruby gem ( http://graphql-ruby.org/ )。我有一个数据结构,它基本上将 i18n 字符串存储为哈希: {'en': 'Hello', 'es': 'Hola'}
. 在正常情况下工作得很好。
但是,我们只是添加了简体和繁体中文,语言代码为“zh-CN”和“zh-TW”。由于 graphql-ruby 翻译了 camelCase 中的所有输入字段,因此这些字段被翻译为“zh-cn”和“zh-tw”。
这是我的输入类的样子:
有没有办法覆盖字段和/或参数的 graphql-ruby 命名约定?我希望它完全是“zh-CN”和“zh-TW”。
ruby - graphql-ruby ObjectType vs Schema::Object
我正在为我的 GraphQL 端点编写 Rspec 测试,我注意到他们使用的对象是 Schema::Object 类型。我一直在为我的对象使用 ObjectType,这意味着我不能使用 MySchema.execute() 进行测试。
我一直试图弄清楚这两种类型之间的区别,但找不到任何东西。这让我觉得我只是对正在发生的事情有一个根本的误解?谁可以给我解释一下这个?
graphql - 解析后处理connection_type
我使用graphql gem 1.8.11。
我UserType
有notifications
连接字段,如果被查询,我想执行一些操作(read!
在下面的示例中)。
下面的示例对所有关联字段执行操作。即使notifications
field 有分页参数并且不是所有的notifications
都被查询到,也会对 all 执行操作notifications
。
如何仅对查询的节点执行操作?
graphql - Graphql 复杂的布尔查询
我从您可以搜索的文档中了解通过 graphql 进行查询的原则:
但是您是否想做一些更复杂的事情,例如:
有没有办法传递这样的字符串并获得适当的结果?
ruby-on-rails - 在生产环境中禁用 GraphQL 自省请求
出于公司政策的原因,我必须禁用graphql-ruby
gem 的自省功能(使__schema
请求失败/返回 404)。
我如何实现这一目标?
该应用程序基于 Ruby on Rails 版本 5.2.2,graphql-ruby
gem 版本为 1.8.12。
sql - Rails + Graphql:如何在对结果执行 graphqls 模式之前优化 sql 查询?
场地
询问
在上面的示例中,Restaurants.all
最初会从表中获取所有行restaurant
,然后根据查询将它们过滤掉。
这是非常低效的,因为我们可以使用查询来过滤掉实际 sql 请求中的数据:
下划线 sql 表示是
选项 A
SELECT "restaurants".* FROM "restaurants"
- 返回比需要更多的行
选项 B
SELECT name, cuisine FROM "restaurants"
- 仅返回请求的行
这并不理想,因为它不适用于连接,除非明确处理。
由于我对 Ruby 和/或 Rails 还很陌生,我一直想知道这是否是一种好习惯,或者是否有其他方法可以实现这种优化?
ruby-on-rails - 连接中断包括
我有以下设置:
并运行以下查询:
产生以下 SQL 查询:
正如我们在 sql 输出中看到的那样,可以includes
工作,但 graphql 不在乎,无论如何都会生成 n+1。这是正常行为吗,我被迫使用像 graphql-batch 这样的解决方案来解决这个问题,或者我的设置有什么不对?据我在互联网上看到的,includes
对于这种简单的场景,使用应该就足够了,graphql 应该使用预先加载的数据而不是产生 n+1。我在这里做错什么了吗?
我在 graphql-ruby 1.7.9