ユーザー認証にDeviseを使用するRailsアプリ。簡単に始めて、今ではかなり複雑になっています。
サイトにログインするユーザーには、管理者、教師、保護者の 3 種類があります。私はこれらのための 1 つの DeviseUser
モデルとUser.role
文字列を持っています。Student
モデル(ログインしない)とモデルがありLesson
ます。
これらは私が必要とする関係です:
- レッスンは 1 人の生徒に属します
- 学生は多くのレッスンを持っています
- 学生には多くの教師がいます
- 生徒は 1 人の保護者に属します
- 親には多くの生徒がいます
- 先生にはたくさんの生徒がいます
サイトの基本機能: 教師はログインして、生徒のためにレッスンを作成します。保護者の方はログインして、お子様 (生徒) のすべてのレッスンをご覧ください。管理者はログインして、教師、保護者、生徒を CRUD できます。
私はそれのほとんどを機能させましたが、「学生には多くの教師がいます」と「親には多くの学生がいます」を実装しようとしたときに困惑しました。私の最初の (間違った) 仮定は、生徒には教師が 1 人だけいて、親には学校に 1 人の子供しかいないというものでした。
そのため、これらの関係には文字列を使用するUser.role
だけでは十分ではないようです。
アドバイスや一般的な概念は大歓迎です。