【今すぐ無料で試す】ゼロから始める定額・学び放題のプログラミング学習サービス「侍テラコヤ」

【Ruby on Rails】コンポーネントを分かりやすく解説

Ruby on Railsを知っている人

Ruby on Railsを使用してWebアプリケーションを作っていこうとするとRailsというフレームワークの構造、仕組み、フレームワークの要素の役割をしっかりと理解する必要があります。

 

そこで、このページではRailsというフレームワークの要素を詳しく見ていきます。

 

最後まで読んで頂くと、自分でWebアプリケーションを作ろうとした時の一助になるかと思います。

 

是非、読んで頂けたらと思います。

 

\単月定額と比べて総額最大48,000円OFF!/
学び応援キャンペーン実施中!
【超安心】1か月間全額返金保証付き

最短30秒で登録完了! 今すぐ侍テラコヤに入学してRuby on Railsを学ぶ!

 

以下のプログラミングスクールもオススメです。

 

是非検討してみてはいかがでしょうか?

 

  1. 侍テラコヤ初月50%OFF学び応援キャンペーン実施中)(解説記事はこちら
    学び応援キャンペーンでお得に申し込む!
    ・コスパ最高! 月額2,980円〜利用できる!
    ・単月定額と比べて総額最大44,400円OFF!

    ・学び応援キャンペーン実施中!
  2. TechAcademy
    無料体験レッスンに申し込む!
    ・Ruby/Ruby on Railsだけでなく、Git/GitHub、HTML/CSS、Bootstrap、SQL、Heroku、Web API、Vue.jsなど幅広く学ぶことができる

    ・今まで得た知識をアウトプットするために自分の作りたいWebサービスを作る
    無料体験レッスン実施中!

 

Ruby on Railsを知っている人

 

 

Ruby on Railsを知っている人

Railsのコンポーネントを理解するためにはWebアプリケーションがどのように動いているかを把握する必要があります。

 

そこでまず始めにWebアプリケーションの仕組みを理解することから始めましょう。

 

基本的にWebアプリケーションはクライアントからHTTPリクエストを送り、サーバーがHTTPレスポンスを返すことで動いています。

 

Railsでは基本的にサーバー側のアプリケーションは3つの機能に分かれています。

 

この3つの機能に分かれている仕組みをMVCモデルと呼びます。

 

Mは「Model(モデル)」、Vは「View(ビュー)」、Cは「Controller(コントローラー)」の頭文字をつけて名付けられています。

 

次にこれらの3つの機能がどのような役割を担っているのか見ていきましょう。

 

Model データベース管理を行う役割を担っている
View 画面などのユーザーインターフェースに関する役割を担っている
Controller クライアントからのHTTPリクエストに応じてModelやViewに指示を出す役割を担っている

 

このようにRailsというフレームワークはMVCモデルといった考え方によって実装されていきます。

 




 

Railsのコンポーネント

 

Ruby on Railsを知っている人

次にRailsを構成するコンポーネントを紹介していきます。

 

Rails5.2は以下のようなコンポーネントで構成されています。

 

Active Record

 

Active RecordはModelの機能を提供しており、データベースとモデルを連携する役割を担っています。

 

例えば、以下のような役割を担っています。

 

  • マッピング
  • アソシエーション
  • バリデーション
  • コールバック
  • マイグレーション

 

Active Model

 

Active Modelはバリデーション、コールバックなどの機能を利用したい時にモジュールとして組み込むことができます。

 

Action View

 

ビューテンプレートに対し、データの埋め込みやレンダリング機能を提供します。

 

Action Pack

 

Action PackはAction DispatchとAction Controllerという2つのコンポーネントを含んでいます。

 

Action Dispatchはルーター機能を、Action Controllerはコントローラー機能を提供します。

 

Action Mailer

 

メールの送受信においてクライアント制御機能、メールテンプレート生成機能を提供します。

 

Action Cable

 

Rails5から実装されたコンポーネントです。

 

チャットのようなリアルタイム通信機能を提供します。

 

Active Job

 

バックグラウンドで実行できる非同期なジョブ生成機能、待ち行列管理などの管理機能を提供します。

 

Active Support

 

Rubyの拡張メソッドなどを提供します。

 

Active Storage

 

Rails5.2から実装されたコンポーネントです。

 

Active Recordと連携した画像・動画などのアップロード、参照機能を提供します。

 

Railties

 

Railsフレームワークの中心となるコンポーネントです。

 

アプリケーション起動プロセスを管理し、コマンド実行のインターフェース、アプリケーション構成要素の生成機能を提供します。

 




 

Railsが備えているツールやライブラリ

 

Ruby on Railsを知っている人

通常、Webアプリケーションを開発する時、Webサーバー環境・データベース環境を構築する必要がありますが、Railsではデフォルトで以下のようなツールとライブラリを備えています。

 

Puma

 

PumaはWebサーバーの一つとなっています。

 

Rails5ではデフォルトのWebサーバーとしてGemfileに組み込まれており、開発時にすぐにWebアプリケーションを確認することができます。

 

Rack

 

RackはRubyが使用可能なWebサーバーとRubyのフレームワークを接続するインターフェースとなっています。

 

ERB

 

ERBはビューテンプレートに組み込むためのRubyスクリプトです。

 

拡張子を「.erb」とすることで組み込まれているRubyのコードを実行して値の埋め込みを行います。

 

SQLite3

 

SQLite3はデータベースのことをさしています。

 

Rake

 

RakeはRubyで作成されたビルド用のツールとなっています。

 

Rakeはデータベースのマイグレーションを行う時に使用します。

 




 

Ruby on Railsを学ぶことができるオススメの教材

 

 

Ruby on Railsを知っている人

Ruby on Railsを学ぶのにオススメの参考書をみていきましょう。

 

Ruby on Rails 6 実践ガイド impress top gearシリーズ

 

本書では、1つの企業向け顧客管理システムを作る過程で、RailsによるWebアプリケーション開発の基礎知識とさまざまなノウハウを習得していきます。

 

各章末には演習問題が設けられているので、理解度を確かめながら確実に読み進められます。

Ruby on Railsを知っている人

 

 

Ruby on Rails 6 実践ガイド[機能拡張編]

 

本書は、2019年12月に出版された『Ruby on Rails 6実践ガイド』の続編です。

 

本編で作成した企業向け顧客管理システムBaukis2の機能をさらに拡張し、実用性の高いシステムにしていきます。

 

本書のテーマは多岐にわたります。

 

クッキー、リクエスト元のIPアドレス、Ajax、データベーストランザクション、排他的ロック、ツリー構造のデータなど、さまざまなWebアプリケーションに必須の機能を実装しながら解説します。

 

また、この機能拡張編では、HTMLフォームのさまざまなバリエーションを紹介しています。

 

特にRailsで業務システムを開発する場合、要求仕様に応じて自由にHTMLフォームを設計・実装する力が求められます。

 

本書では、さまざまなフォーム設計の事例を扱っていますので、一種のレシピ集として活用できます。

Ruby on Railsを知っている人

 

 

パーフェクト Ruby on Rails 【増補改訂版】

 

新しいRailsのバージョンでサポートされた機能の紹介だけでなく、Dockerでの導入方法など最新の実践的内容を追加し、現在のトレンドとなる開発スタイルを紹介します。

Ruby on Railsを知っている人

 

 

まとめ

 

Ruby on Railsを知っている人

最後まで読んで頂きまして、ありがとうございました。

 

今回のポイントは以下の通りです。

 

  • Railsでは基本的にサーバー側のアプリケーションはModel、View、Controllerの3つの機能に分かれています
  • RailsではActive Record、Active Model、Action View、Action Pack、Action Mailer、Action Cable、Active Job、Active Support、Active Storage、Railtiesのコンポーネントで構成されています
  • RailsではPuma、Rack、ERB、SQLite3、Rakeのツールやライブラリが備わっています。

 

途中で分からないことがあり、中々進まないこともあると思います。

 

しかし、順を追って学習を進めていけば、必ずできるようになるのであきらめず最後までやりぬきましょう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です