Railsアプリを持っていて、値オブジェクト、サービスオブジェクト、フォームオブジェクトなどを使ってアプリをどんどんリファクタリングしています。現在、それらのほとんどはRailsアプリの「lib」フォルダーに保存されていますが、どういうわけかそれを感じますコアアプリファイルから「遠く」離れています。
Rails アプリ内でこれらのオブジェクトを配置するベスト プラクティスは何ですか?
Railsアプリを持っていて、値オブジェクト、サービスオブジェクト、フォームオブジェクトなどを使ってアプリをどんどんリファクタリングしています。現在、それらのほとんどはRailsアプリの「lib」フォルダーに保存されていますが、どういうわけかそれを感じますコアアプリファイルから「遠く」離れています。
Rails アプリ内でこれらのオブジェクトを配置するベスト プラクティスは何ですか?
モデルをリファクタリングし、クリーンアップし、ロジックを「値オブジェクト、サービス オブジェクト、フォーム オブジェクト」にカプセル化するのが道です。これらのオブジェクトをどこに保存するかについての質問に関しては、「app」ディレクトリの下に追加のディレクトリを作成することを止めるものは何もありません。
デフォルトでは、Rails はこれらのディレクトリを自動ロードするため、これらを管理する必要はありません。
「app」ディレクトリの下にある、私のプロジェクトの 1 つのディレクトリ構造の例を次に示します。
assets
cells
charts
controllers
decorators
form_objects
helpers
help_pages
inputs
mailers
models
modules
queries
renderers
resolvers
services
validators
views
widgets
上記のリストは決して従うべきパターンではありませんが、リストがリファクタリングの努力を刺激することを願っています:)