質問: 最近、Webアプリケーション開発に興味があり、様々なフレームワークを触って、簡単なCURDアプリを作ったりして遊んでいるのですが、ふと開発しているときにM(モデル)の無い、CVだけのコントローラーとビューがあってもいいのかについてお聞きしたいです。 モデルの無い、CVだけを作りたい理由としては、user(MCV)があった時に、ユーザーのタイプによってコントローラーとビューを分けたいなと思っています。 例) 前提) gem deviseを使用 userモデル name:string user_type_id:integer #フラグ的なイメージ 1なら販売者/2なら購入者/3ならadmin(管理者) user_type_idが1の時 sales_controller.rb + view user_type_idが2の時 buy_controller.rb + view user_type_idが3の時 admin_controller.rb + view 上記の例のようなイメージを想定しており、開発している中でコントローラーを分けれたら開発する際にどのユーザー向けを開発しているのかが見通しが立てやすいのでは無いかと思ったのですが、MCVモデルを考えた時にこのようなやり方でも大丈夫なのかと気になって質問させていただきました。 コントローラーを分けないでやる方法としては、パラーメーターでuserのタイプを判定し、該当するビューを表示させればコントローラーを分けなくても行けるのですが、どのようなやり方が最適なのかについてご教示いただけたら幸いです。
回答: MVCモデルは、「モデル」「ビュー」「コントローラ」が全て揃わないとダメということではないと思いますし、実際モデルがないコントローラを実装しているケースは結構あると思います。 > > コントローラーを分けないでやる方法としては、パラーメーターでuserのタイプを判定し、該当するビューを表示させればコントローラーを分けなくても行けるのですが、どのようなやり方が最適なのかについてご教示いただけたら幸いです。 > > > コードを見ていないので確実なことは言えませんが、この方法でも問題ないような気がします。