我有一个Rails应用程序,我通过使用值对象,服务对象,表单对象等来越来越多地重构我的应用程序。目前,大多数都存储在Rails应用程序的“lib”文件夹中,但是某种程度上感觉“远离”核心应用程序文件。
我想知道在Rails应用程序中这些对象的位置最佳做法是什么?
答案 0 :(得分:3)
重构,清理模型并在“值对象,服务对象,表单对象”中封装逻辑是一种方法!至于你关于存储这些对象的位置的问题,没有什么能阻止你在'app'目录下创建其他目录。
默认情况下,Rails会自动加载这些目录,因此您无需管理这些目录。
以下是我的一个项目的示例目录结构,位于“app”目录下:
assets
cells
charts
controllers
decorators
form_objects
helpers
help_pages
inputs
mailers
models
modules
queries
renderers
resolvers
services
validators
views
widgets
以上列表绝不是一个可以遵循的模式,但我希望该列表能够激发您的重构努力:)
答案 1 :(得分:0)
迟到的回复,但我最近发现这篇文章(https://netguru.co/blog/service-objects-in-rails-will-help)谈论服务对象,并将它们存储在app / services下。
由此,我正在考虑在我的工作中使用app / [serivices | value | forms]。
答案 2 :(得分:0)
对我来说,我在value_objects
文件夹中创建了一个models
目录-这只是其中一种方法。