Ruby on railsとは、効率的にアプリ開発が進められるように考えられたフレームワーク(ひな形・枠組み)です。
効率的に開発できる理由のひとつが
「MVCモデル」というプログラミング構造
にあります。
MVC(エムブイシー)モデルとは
- Model(モデル)・・・データベースを扱う
- View(ビュー)・・・データを画面に表示させる
- Controller(コントローラー)・・・ModelとViewを繋ぐ
の頭文字を取ったものをMVC(エムブイシー)モデルと言います。
役割を分けることで、書きやすく読みやすく、メンテナンスもしやすいという特長があります。
Ruby on Railsを使って効率的に開発していくためには、まず
- Ruby on Railsの仕組み
- Ruby on Railsの処理の流れ
を理解することが大切です。
目次
Model(モデル)を理解しよう
Model(モデル)の役割は、データベースを管理ややり取りを行うクラスのこと。
- 必要なデータをデータベースから取得する
- データベースに対してデータの登録、更新、削除などを行う
といった働きをします。
Model(モデル)モデルの作成コマンド
$ rails g model モデル名(単数形)
このコマンドでモデル単体の作成を行うことができます。
複数形ではない部分、注意が必要です。
View(ビュー)を理解しよう
View(ビュー)の役割
View(ビュー)は
データを画面に表示させる
という役割を持っています。
ビューファイルの場所は
/app/views/コントローラ名/アクション名.html.erb
投稿内容や見た目を変更したい場合には、ビューファイルを変更するだけですむので、修正も楽にできます。
特殊なファイル形式「erb」
「erb」とは
Embedded Rubyの略で、埋め込みRubyという意味
ファイルの中身は「見た目」を作るためのHTMLファイルですが、「erb」形式のファイルでは、HTMLタグの中に、特殊なタグを使うことで、Rubyのコードを実行できるようになります。
Controller(コントローラー)を理解しよう
Controller(コントローラー)の役割
Controller(コントローラー)は
ルーティングとビューを繋ぐ
という役割を持っています。
Controller(コントローラー)作成のコマンド
rails g controller 好きなコントローラー名(複数形) アクション名
命名には規約が存在しますが、それさえ守れば、対応したファイルが自動で用意されるので、大変便利です。
Ruby on Railsの処理の流れ
「ルーティング」については後ほど説明しますが、ブラウザからのリクエストが送られると、次のような順番で処理が行われます。
- ルーティングによって、コントローラとアクションが指定される
- コントローラーが、アクション名と同じ名前のビューファイルを見つけ出す
- ビューをブラウザに返し画面を表示する
Railsでは、コントローラーを経由して処理が実行されます。
ルーティングを理解しよう
ルーティングとは
- URLとアプリを結びつける
- ブラウザとコントローラを繋ぐ
仕組みのこと。
ブラウザからのリクエストに応じて、どのコントローラとアクションを呼び出すかというのを指定し、コントローラーに指示を出すのが、ルーティングです。
ルーティングを記述するファイル
ルーティングを記述するファイルの場所は
app/config/routes.rb
です。
「routes.rb」を見れば、どのリクエストに対して、どのアクションを実行するのかが一目瞭然です。
コマンドの意味を理解しよう
Ruby on Railsは、決まったコマンドを入力すれば、必要なプログラムを自動で生成してくれます。
例えば、開発を始める時は
rails new アプリケーション名
と記述するだけで
- アプリケーション名のフォルダ
- 開発に必要なフォルダやファイル
が自動で作成されます。
Ruby on Railsを理解しよう|超初心者向けまとめ
Ruby on Railsで、ページが表示されるまでの基本的な処理は
- ルーティング
- Controller(コントローラー)
- Model(モデル)
- View(ビュー)
という順番で行われていますが、Model(モデル)は必要がある時にのみ実行されるので、飛ばされることもあります。
Ruby on Railsでは
- コントローラーを経由してビューを返している
- ブラウザとコントローラを繋ぐのがルーティング
と、覚えておきましょう。