Rails を使用して、特定のタイプの専門家がオンライン プロファイルを作成できるようにするアプリを作成しています。したがって、User モデルと Profile モデルの間には「関連付け」があります。基本的にユーザーモデルを名前と登録情報に制限し、プロファイル情報を他の場所に保持できるように、プロファイルモデルを作成しました(つまり、呼び出されたと思われるデータベースを「正規化」します)
ただし、これらのプロファイル (たとえば、LinkedIn でよくあること) には多くの情報が含まれています。たとえば、ユーザーが多くの異なる実務経験を追加できる、このような場合がある実務経験のセクションがあります。
そして、教育のための同様の何か
その他、さまざまな種類のプロファイル情報。また、これらの個別のカテゴリに追加および編集する機能は、個別のフォームで行われることに注意してください。教育に触れることなく、仕事の経験を増やすことができます。
私の質問は、このすべての情報を Profile モデルに保存しようとするべきですか? それとも、たとえば、WorkExperience モデルを作成して Profile :has_many work_experiences のようなことを行いますか? また、EducationExperience にも似たようなものがありますか、それとも別の方法がありますか?
私の懸念の 1 つは、DB に対するクエリです。たとえば、Profile コントローラーの show アクションで、Profile モデルにすべての情報を格納するのではなく、WorkExperience.all、Education.all に対してクエリを実行すると、パフォーマンスに大きな違いが生じるでしょうか? . もう 1 つの懸念事項は、非常に大きくなる可能性があるプロファイルの一般的なコード編成です。