问题标签 [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 投票
1 回答
50 浏览

ruby-on-rails - 使用 ruby​​ graphql 返回未持久化的 activerrecord 是否危险?

在 Rails 中,我使用的一种常见模式是创建一个新的非持久对象以使用默认值填充表单,例如

我使用graphql ruby​​创建了一个表单,我想使用一个非持久对象填充默认值,即我有一个由contractParts填充的createOrUpdate表单

在我的 query_types.rb

我想知道这种模式是否可以,或者是否因为我返回一个没有 ID 的对象会出现问题。我查看了所有文档,但找不到任何相关信息,这不是正确的 graphql 吗?

0 投票
1 回答
1004 浏览

ruby-on-rails - 处理业务代码中的 GraphQL Enum 值

我有一个 GraphQL 枚举,例如:

以及接收此类型或 nil 数组的字段。实际上,当我们收到 nil 时,我们应该传递我们将使用枚举中的所有可用值:

所以我必须对每个字段进行这种有条件的清理,就像仪表板字段一样。没什么大不了的,除了重复。但我认为这是应该在 Query 内部的责任(有一个协作者可以在 Query 对象内部进行清理)。但我认为从业务对象内的 GQL 枚举类型中提取值会更糟。实际上,我什至不知道我是否应该提取这些枚举值。

像这样从 GQL 类型中提取值是一种好习惯吗?

  • 如果没问题,还有另一种方法可以在业务对象(如查询对象或消毒剂)中使用枚举值,而不让它们依赖于 GQL 枚举类型?我应该在我的业务层中创建一个具有相同值的枚举吗?

感谢任何帮助。

0 投票
1 回答
49 浏览

ruby - 如何为排序添加默认值:在 query_type.rb

query_type.rb 中的现有代码:

我是 Ruby 新手,标志以相反的顺序(升序)出现,我想将默认值设置为降序。我试过这样设置:

但我收到一个错误:{:column=>“created_at”, :direction=>“DESCENDING”}:Hash 的未定义方法 `column' 并且我的标志表不再呈现。有什么建议么?我也试过把专栏放在引号里。

0 投票
1 回答
358 浏览

ruby - 无法使用输入参数调用 Graphql API

我可以通过像这样传入输入直接调用graphql api

但是如果我使用这样的输入参数传递它

我收到这个错误

创建用户突变

创建用户输入

0 投票
1 回答
149 浏览

ruby-on-rails - Graphql-ruby:每次更改 query_type 或任何其他文件时都需要重新启动 Rails 服务器

我正在graphql 1.9.21rails 5.2.0应用程序一起使用。当我对 graphql query_type 或任何其他与 graphql 相关的文件(例如(graphql_controller、类型文件等))进行更改时,我每次都需要重新启动 rails 服务器。否则,更改不会反映在响应中。其他模型等的更改工作正常,但仅与 Graphql 生成的文件有关。

我也在使用graphql-pundit 0.7.1不确定它是否会导致任何问题。

谢谢!

0 投票
1 回答
90 浏览

ruby - 使用 ruby​​-graphql 实现依赖注入的最佳实践是什么?

我想将依赖注入与 graphql-ruby 一起使用。

IE

initialize无法使用依赖注入,因为QueryType它是由 graphql-ruby 实例化的。

0 投票
1 回答
89 浏览

ruby-on-rails - GraphQL-Ruby。时间类型

根据 GraphQL wiki,我可以看到唯一的 DateTime 类型:Link

据我所知,只有时间应该为此编写额外的标量,但我不知道有人可能已经这样做了并且可以分享他/她的想法?:)

目前,如果我将使用 ISO8601DateTime,我认为它不会成功,因为我在数据库中使用与 ruby​​ 相同的时间列

0 投票
1 回答
177 浏览

ruby-on-rails - Rails 错误:replace_gem 中的块(2 级):加载“sqlite3”Active Record 适配器时出错

我见过其他类似的问题(比如这个),但是略有不同。

我使用命令创建了一个全新的 Rails API 应用程序rails new backend -d=postgresql -T --api。我已经设置好数据库并且连接正常。现在我正在尝试安装graphql gem。它在我的 Gemfile 中,我已经运行bundle install,下一步是bundle exec rails generate graphql:install根据文档运行命令。但是,当我运行它时,我收到此错误:

我在 Github 问题、Google 或 Stack 中找不到任何答案。我不确定为什么当我从 new 安装 postgresql 时会出现 sqlite 错误。自从我上次开发 Rails 应用程序以来已经有一段时间了,可能是什么问题?

宝石文件:

数据库.yml:

0 投票
1 回答
3133 浏览

api - GraphQL 查询中的分组

我是 GraphQl 的新手并且正在学习它。目前我有单个数据库表 -student_courses如下所示:

我已将模型映射到单个 GraphQL 对象。因此,我将 GraphQL API 响应作为表中每一行的单独 json 对象。

我想了解如何将此表的结果分组student_id, student_name并以下列格式获取结果:

student_id, student_name, {course_code : course_name}

例如:1, "ABC", {"S-101":"DataStructures", "S-150":"NLP", "S-250":"Machine learning"}

我当前的 GraphQL 查询 -

0 投票
1 回答
172 浏览

ruby-on-rails - 向关联的 GraphQL 字段返回类型添加附加字段

我的应用程序中有这个 GraphQL 类型。

我想为该字段的关联User类型添加一个附加on_leave字段。

例如,对于该on_leave字段,我希望关联User有一个附加字段leave_duration

field :leave_duration, Integer, null: true

因此,我可以进行如下查询:

我已经查看了https://graphql-ruby.org/type_definitions/extensions.html#customizing-fields这个文档,但还不能实现它。这可以做到吗?请帮忙。