1

Rails を使用して、特定のタイプの専門家がオンライン プロファイルを作成できるようにするアプリを作成しています。したがって、User モデルと Profile モデルの間には「関連付け」があります。基本的にユーザーモデルを名前と登録情報に制限し、プロファイル情報を他の場所に保持できるように、プロファイルモデルを作成しました(つまり、呼び出されたと思われるデータベースを「正規化」します)

ただし、これらのプロファイル (たとえば、LinkedIn でよくあること) には多くの情報が含まれています。たとえば、ユーザーが多くの異なる実務経験を追加できる、このような場合がある実務経験のセクションがあります。

ここに画像の説明を入力

そして、教育のための同様の何か

ここに画像の説明を入力

その他、さまざまな種類のプロファイル情報。また、これらの個別のカテゴリに追加および編集する機能は、個別のフォームで行われることに注意してください。教育に触れることなく、仕事の経験を増やすことができます。

私の質問は、このすべての情報を Profile モデルに保存しようとするべきですか? それとも、たとえば、WorkExperience モデルを作成して Profile :has_many work_experiences のようなことを行いますか? また、EducationExperience にも似たようなものがありますか、それとも別の方法がありますか?

私の懸念の 1 つは、DB に対するクエリです。たとえば、Profile コントローラーの show アクションで、Profile モデルにすべての情報を格納するのではなく、WorkExperience.all、Education.all に対してクエリを実行すると、パフォーマンスに大きな違いが生じるでしょうか? . もう 1 つの懸念事項は、非常に大きくなる可能性があるプロファイルの一般的なコード編成です。

4

1 に答える 1

1

「仕事」の経験、「教育」の経験などであるかどうかを決定するタイプ列とともに、経験 (これはプロファイルに属する) のようなものを分割することにより、最もクリーンなコード (および適切なパフォーマンス) を得ることができます。さまざまな種類の経験の列が大幅に異なる場合を除きます。

于 2013-03-29T22:19:07.887 に答える