6

自分がやろうとしていることを(質問のタイトルで)うまく表現できなかったので、画像は千の言葉に値するということわざに敬意を表して。一言で言えば、私がやろうとしていることは..

ここに画像の説明を入力してください

基本的に、私が持っているのは、教師には多くの予定があり、生徒には多くの予定があり、これは大まかに次のように解釈されます。

ここに画像の説明を入力してください

has_and_belongs_to_manyマクロの使用を避けようとしています。これは、予定モデルに何らかの意味(操作)があるためです。たとえば、ブールフィールドがあります:confirmed

それで、has_many:throughマクロを使用すること、そしておそらく「指定可能な」結合テーブルモデルを使用することを考えていましたか?皆さんはどう思いますか?

私がコーディングしようとしているシナリオは単純です。

  1. 生徒が特定の日時に教師との面会を要求する
  2. 教師が対応可能である場合(そしてその日時にレッスンを行いたい場合)、彼女は予定を確認します。

この問題にどのように取り組むか教えていただければ幸いです。has_many:throughマクロを使用するという私の仮定は正しいですか?

ありがとうございました!

4

1 に答える 1

1

教師と生徒の両方が、Personなどの単一のクラスから継承できます。次に、PersonとAppointmentsの間に関連付けを作成します。このようにして、アーキテクチャを開いたままにして、将来「親」を追加したい場合に、それらを簡単に統合して、予定に参加できるようにします。

お子様のクラス(生徒、保護者、教師)との参加方法は完全に単純ではない場合があります。それは私が特に好きではない多形の関係を含むかもしれません。ただし、単一の結合テーブルを使用する必要があります。

いずれにせよ、システムを拡張できるように設計する必要があります。早い段階でいくつかの余分な作業を行うと、後で多くの作業を節約できます。

于 2013-03-14T06:29:19.540 に答える