我们正在构建的应用程序的模型不是数据库组件。我们很想了解rails社区中的其他人正在做什么来解决这个问题。
我们正在为如何安置他们而苦苦挣扎。
我们是否应该:
app/models/domain或
app/domain/models或者也许
app/models # Business Models
app/models/ar # Active Record Models或者也许
app/models/domain/ # Business Models
app/models/domain/ar # Active Record Models这其中的一部分是,我们正在为如何接近rails标准以及在多大程度上创建一个符合我们需要的结构而苦苦挣扎。
如果我们将对象看作服务对象,我们可以拥有
app/models/service-object和
app/models/ # For plain active record另一个下降的途径是在应用程序中没有东西,例如
/service_objects而不是
/app/models/service_objects大概如果我们想要通过rails应用程序访问,我们最好使用app/,以便利用约定而不是配置。
发布于 2013-05-10 00:03:23
对于服务对象,通常将它们直接放在应用程序目录app/services/下。工作进程和序列化程序在app/serializers/中也遵循这种模式。对于不是AR的模型,您仍然可以将它们放在models目录中。这只是我对它的看法。
发布于 2013-05-16 22:41:21
如果它们是模型,那么您应该将它们放到app/models中,因为这个目录是用于模型的,而不仅仅是ActiveRecord子类。
发布于 2013-05-16 06:44:35
如果你有不是模型的类,例如,它们可能代表一个表单,我会说继续并将它们放在lib中。
如果它们与您的应用程序正交,即:它是用于调用另一个应用程序的接口,您可以将其包装为私有或公共gem,这取决于它对社区其余部分的适用性。
最后,这真的无关紧要。选择一件事,并与团队的其他成员达成一致。移动东西应该非常容易,特别是当您将决定使用的内容添加到应用程序($LOAD_PATH += '...')的加载路径中时。
https://stackoverflow.com/questions/16466024
复制相似问题