LoginSignup
2
2

More than 5 years have passed since last update.

【Rails】基礎:MVCモデルについて

Last updated at Posted at 2019-01-16

MVCモデルとは?

Railsを理解する上で重要になる考え方。
M=モデル
V=ビュー
C=コントローラ

図にすると下記の通り
※ただし、「④モデル」に関してはデータベースとのやり取りがない場合は不要

Rails_MVC.jpg

図の用語を見ていくと・・・

ルーティング(/config/routes.rb)

・ブラウザとコントローラをつなぐ役割
・ユーザーがブラウザ経由でRailsで作成したサービスにアクセスすると、ルーティングが受け取ったURLを分析し、「どのコントローラのどのアクションを実行するか」を判別し、適切なコントローラのアクションを呼び出す。
つまり・・・対応表。

get "URL" => "コントローラ名"#"アクション名"

コントローラ(controllersフォルダ内に複数存在)

・コントローラ内のメソッドのことをアクションという
・アクションの役割:ブラウザに返すビューをviewsフォルダの中から見つけ出す役割
(コントローラと同名のビューフォルダから、アクションと同名のHTMLファイルを探してブラウザに返す)

データベースとモデル

【データベース】
・データベース→表(=テーブル)で管理
・テーブルの列をカラム、行をレコードという

【モデル】
・ApplicationRecordを継承したクラスをモデルという

post.rb
class Post < Application #Post部分は単数形
end

・モデルは、データベースから情報を取り出したり、逆にデータベースに情報を格納したり、データベースとのやり取りを行う
・Railsにおいては、使用しているデータベースのテーブル毎にモデルが用意されている
(=モデルはデータベースのテーブルに対応するクラス)

モデルの作成方法
#下記コマンドを実行する
rails generate model モデル名 #「rails generate」は「rails g」に省略可

# => app/modelsフォルダに、「モデル名.rb」というファイルが作成

#例
rails g model post
# => app/models/post.rbが作成。
# => データベースにPostsテーブルが作成(テーブルは複数形になる!)

ビュー

ページの見た目を作るためのHTMLファイル。
ちなみに・・・CSSファイルはapp/assets/stylesheetsフォルダ内に。
画像ファイルはpublicフォルダ内にある

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2