Ruby on Rails に限定する必要はないのですが、実装方法で悩んでいます

ある中学校の、イベント情報のお知らせや生徒の情報などを扱う Web アプリで、メッセージ機能や掲示板なんかもある、よくある感じのやつです。

  • 校長先生
  • 先生
  • 保護者
  • 生徒会長
  • 生徒

上記のようなユーザー種別があり、それぞれに対応する処理を切り分けなければいけません。

例えば、生徒のプロフィール画面には、

  • 氏名
  • 生年月日
  • 住所
  • 趣味

といった項目があり、これらのうち「住所」はログインしているユーザーが生徒アカウントの場合非表示にする、などです。 こういった、「ユーザー種別ごとに処理を分ける」という場合どのような方法を使うのが良いのでしょうか?

現時点では、

  1. ユーザー種別ごとにネームスペースを分け、それぞれコントローラーやビューを用意する
  2. ユーザーごとのパーシャルを用意して、ビューの中に case 文を書いてレンダーするファイルをわける

のどちらかかなー、と思ってますが自信がありません。お力をおかしくださいませ。

※ このWebアプリは架空のものです