Rails 是如此神奇,以至于我需要比我更了解的人的帮助。
由于我有很多 crud API 基本端点一遍又一遍地重复,我决定自动化它们的创建(请参阅我在以下github 问题中的最后一篇文章)。
为了获得一些基本有效的招摇文档,我还通过向我的 ApplicationRecord 添加一些自定义代码来自动创建 Grape::Entities(请参阅添加到此问题的 github SOLUTION 片段:从父类继承类定义)。
通过上面的 2 个自定义,我可以通过简单地创建 API 端点:
V1::Base.show Book
上面的方法将创建一个端点,它将使用自动创建的实体,这样它就会自动记录默认值,如果需要,以后可以在 Book 模型类中覆盖这些默认值:
Book::Entity
当上面的代码似乎中断时有1个异常:似乎每当我在Rails应用程序(例如初始化程序)的引导期间以早期状态交互时,当我调用V1::Base.show Book
(创建api端点)时调用Book::Entity
以下错误返回:
NameError: uninitialized constant Book::Entity
谁能给我一个暗示它可能是什么?与模型的早期交互可以是一个简单的 Book.all,它闻起来像一个线程问题。