【备忘录】当Rails中的graphql的mutation越来越多时,目录会变得一团糟,因此我想整理一下

问题所在

当在实际项目中默默地增加变异时,如此文件会在 api/app/graphql/mutations/ 中堆积如下所示的例子。

(例)
create_user_mutation.rb
update_user_mutation.rb
delete_user_mutation.rb
create_news_mutation.rb
update_news_mutation.rb
delete_news_mutation.rb
create_item_mutation.rb
update_item_mutation.rb
delete_item_mutation.rb
create_catalog_mutation.rb
update_catalog_mutation.rb
delete_catalog_mutation.rb

生成命令

如果我使用Docker,情况就像下面这样,但如果不使用Docker,只需使用常规的Rails命令即可。(以User为例)

docker-compose exec 環境名 rails g graphql:mutation Users::UserCreateMutation
docker-compose exec 環境名 rails g graphql:mutation Users::UserUpdateMutation
docker-compose exec 環境名 rails g graphql:mutation Users::UserDeleteMutation

由于使用CreateMutation可能会导致与其他层级的CreateMutation命名冲突而无法使用,所以将其命名为UserCreateMutation。

确认文件

在`app/graphql/mutations/users/user_create_mutation.rb`下,将会生成一个名为”users”的文件夹,文件夹下将生成一个mutation文件。请确认。
在`/app/graphql/types/mutation_type.rb`中。

field :users/user_create_mutation, mutation: Mutations::Users::UserCreateMutation

由于文件中添加了上述字段,我们需要进行适当的修正。

field :users_create_mutation, mutation: Mutations::Users::UserCreateMutation

一言

也许是因为我的搜索方法不对,GraphQ的文献很少,给菜鸟程序员带来了困扰。抱歉只有一些垃圾般的笔记。

广告
将在 10 秒后关闭
bannerAds