我继承了一个我想要重构的rails项目。该应用程序使用ActiveRecord非常轻松;大多数调用都是针对REST端点的。现在,进行这些调用的类位于lib目录中。我一直在阅读几个posts regarding the lib directory,我想知道原始开发人员为什么不使用模型目录(必须有某些原因)以及将这些类移入的优缺点是什么? models目录。
它“感觉”这些类应该在models目录中,因为它们是应用程序的核心。
答案 0 :(得分:1)
这就是我正在做的事情,将所有负责使用数据库的类放在models文件夹中。如果是图书馆或班级 ,它不依赖于数据库,可用于不同的项目 然后它可以放在lib文件夹中。
答案 1 :(得分:1)
如果您的类与模型不太相关(ActiveRecord),您应该考虑将它放在比模型更具体的位置,但是如果您将它放在模型中,则将它们放在一个封闭的文件夹中。
app - >模特 - >端点 内部配置 - > application.rb,将这行代码加载到
中config.autoload_paths += %W(#{Rails.root}/app/models/ar)
或者你可以把它放在一个单独的目录中 app - >端点
之所以这样,是因为您的REST端点将被隔离;如果您计划在应用程序上构建更多内容,那么您的业务逻辑将更加“干净”和模块化,而不会产生混乱。