0

学生、講師がログインできるWebサイトを想定してみましょう。

これには、次の 2 つの方法があります。

  1. ユーザーモデルがそこにあり、user_type フィールドは、彼が学生か講師かを確認します。ただし、この方法では、学生がユーザー名「a」を取得した場合、講師は同じユーザー名「a」を取得できません。両方とも異なるため、たとえば /profiles/lecturers/a のようになります。ここで、ユーザー モデルは 'a' が既に存在すると言っていますが、それは Student に属しますが、講師には属しません。変ですよね?

  2. ここでは、ユーザーモデルはありません。講師モデルと生徒モデルを別々のユーザー名で分離します。もちろん、名前、住所、国などの共通のものを持つ共通のユーザー モデルを持つことができます。ただし、ユーザー名はユーザーモデルに含めるべきではありません。彼らは学生、講師の一部でなければなりません。

何から始めればいいのかわからない?

あなたたちは何を提案しますか?1または2?

ありがとう。

4

3 に答える 3

1

ユーザー名を本当に一意にしたいかどうかにかかっていると思います。もちろん、常に一意のフィールドを電子メールにすることができ、それで問題を解決できます。

一般的に、簡単にするために、1 つのユーザー モデル (たとえば、電子メールで区別) を使用してから、 cancan ( https://github.com/ryanb/cancan )のような gem を使用してさまざまなロールを作成するのがおそらく最も簡単です。

認証のために、その法案に適合する多くの優れた宝石を利用することもできます。

于 2013-09-13T19:22:10.730 に答える