Rails是如此神奇,以至于我需要一个比我更了解的人的帮助。
由于我一遍又一遍地重复使用了大量的基本端点,因此我决定自动创建它们(请参阅下面的github issue中的最后一篇文章)。
为了获得一些基本的有效swagger文档,我还通过向ApplicationRecord添加一些自定义代码来自动创建Grape :: Entities(请参阅github解决方案片段添加到此问题:Inheriting class definition from parent class)。< / p>
通过以上两种自定义,我可以通过以下方式创建API端点:
V1::Base.show Book
上述方法将创建一个端点,它将使用自动创建的实体,以便使用默认值自动记录,如果需要在Book模型类中可以覆盖这些默认值:
Book::Entity
当上面的代码似乎破坏时有1个异常:似乎每当我在Rails应用程序的引导程序(例如初始化程序)中以早期状态进行交互时,当我调用V1::Base.show Book
时(创建api端点)调用Book::Entity
返回以下错误:
NameError: uninitialized constant Book::Entity
有人可以给我一个暗示它可能是什么吗?与模型的早期交互可以是一个简单的Book.all,它闻起来像一个线程问题。