运行rails g graphql:install
后,会在/app/graphql/types
中创建一组有用的基本类型文件,以便我们在定义自己的类型时进行扩展。运行任何生成器时,它也会在同一文件夹中创建这些文件。我开始创建子目录,以为可以为这个庞大的万能目录增加某种意义,但无法正确加载内容。
由于每种类型都有一个基本文件(base_enum.rb
,base_object.rb
等),因此我为每种类型(enum_types
,{{1 }}等。但是,这破坏了自动加载,我必须显式导入这些文件才能使用这些自定义类型。因此,在object_types
,query_type.rb
和mutation_type.rb
的顶部,我添加了以下内容:
app/graphql/mutations/base_mutation.rb
这允许事情运行,但是任何更改都会中断自动加载,因此每次更改时我都必须重新启动服务器。我开始阅读this article about auto loading on the rails site,但说实话,这有点让我烦恼。尽管这使我相信我必须为我的文件夹找到正确的名称,或者为我的类型定义文件中定义的名称空间正确地命名,才能做到这一点。
在不破坏自动加载的子目录中是否有一种合理的方式来组织这些文件?大多数项目是否只有用于这些文件的平面文件夹结构?
谢谢!