为什么一些"Plain Old Ruby Objects"会进入app/models目录而不是lib direcory?

5 ruby ruby-on-rails

我正在开发一个项目,当前开发人员将他们的"普通旧Ruby对象"放在models我们的Rails应用程序的目录中.

我在网上看到了大多数PORO文件内部的例子lib,但有些人说模型.

是否有一个逻辑/特定的原因,人们将它们放在models目录上的lib目录中?

sea*_*and 4

“惯用的”模型目录用于保存状态的代码。大多数时候,这将是与数据库表相对应的 ActiveRecord 子类。然而人们经常把其他东西放在模型目录中。经常看到的一件事是为了利用自动重新加载的优势而将代码删除到此处。(lib 目录通常不会自动重新加载)

  • 我认为这不是真的。按照惯例,模型目录是放置模型的正确位置,无论它们是从“ActiveRecord::Base”继承还是涉及数据持久性。没有什么要求您的模型是 ActiveRecord 对象:https://github.com/bbatsov/rails-style-guide#model-classes (5认同)