質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

1回答

1109閲覧

WebフレームワークのMCVモデルについて

rails_ruby

総合スコア87

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

1クリップ

投稿2019/06/02 07:10

最近、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のタイプを判定し、該当するビューを表示させればコントローラーを分けなくても行けるのですが、どのようなやり方が最適なのかについてご教示いただけたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/06/02 09:36

細かいですがMVCでは。 MCVだと赤血球の検査値のひとつになってしまいます。
m.ts10806

2019/06/02 09:40

あとCURDではなくCRUDですね(クラッド、です)
guest

回答1

0

ベストアンサー

MVCモデルは、「モデル」「ビュー」「コントローラ」が全て揃わないとダメということではないと思いますし、実際モデルがないコントローラを実装しているケースは結構あると思います。

コントローラーを分けないでやる方法としては、パラーメーターでuserのタイプを判定し、該当するビューを表示させればコントローラーを分けなくても行けるのですが、どのようなやり方が最適なのかについてご教示いただけたら幸いです。

コードを見ていないので確実なことは言えませんが、この方法でも問題ないような気がします。

投稿2019/06/02 10:49

nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問