モデルの名前空間をネストした方がよい場合と、それらをすべてトップレベルのままにしておく方がよい場合についてのガイドラインは何ですか?
たとえば、いくつかのクラスがすべて 1 つのコア クラスと関係がある場合 (そして、システムの大部分がそのコア クラスのみを処理する場合)、私の本能はそれらを次のように宣言するように指示します。
CoreModel
CoreModel::DependentOne
CoreModel::AnotherDependent
ほとんどの場合、これは has_many/belongs_to の関係に対応します (これは、構成よりも慣例の次の候補であると考えています。)
繰り返しますが、私のルートはしばしばこのネストを反映しています: /CoreModels/:core_model_id/DependentOne/:id
これを行う必要があると私が考える理由は、同じ大規模アプリケーションの 2 つのコンポーネント領域が、ソフトウェアの他の領域と同じではないにしても、類似した名前のサポート コンポーネントを必要とすることがよくあるからです。これらの依存モデル (そのコア モデルをサポートするためだけに存在する) に名前を付けるのが最善の方法だと思います。
この方法で物事を行うと物事が簡単になることがありますが(DependentOneモデルのみを取得する必要があり、自動的に正しくルーティングされるlink_toなど)、form_forなどの他の項目は適切に機能しないため、混乱しています(そうではないため)適切にルーティングし、CoreModel を form_for に追加すると、core_model_core_model_dependent_one などのルートがないことについて不平を言います....
おそらく私は十分に明確になっていないので、明確化の要求が来たらこれを更新するようにします.