①Ruby on Railsとは?
Rubyで書かれたオープンソースのウェブアプリケーションフレームワーク
フレームワークにはウェブアプリケーション開発に必要な基本的な機能が予め用意されている。
ある程度コードを書く際のルールが決まっている。
幅広いライブラリがGemと言う形式で公開されている。
主に使われているサイト
Airbnb:民泊サイト
GitHub:ソースコードバージョン管理
Square:決済
クックパッド:料理のレシピ共有サイト
freee: 会計ソフト
追記:他にも無数にあります
②Railsの基本理念
DRY原則(同じことを繰り返さない)
Don’t Repeat Yourself:DRY
設定より規約が優先される
クラスやデータベースの名付け方などのルールを守る
③MVCアーキテクチャーとは
M:Model(主にデータベース関連を担当する)
データの管理やビジネスロジックでデータの処理を行うコードを記載する。
ECサイトの例で話すと
商品が1つ売れたら在庫を1つ減らして、
購入履歴を保存するといったような処理はモデルに書くことになる。
静的なウェブページを表示するようなケースでは、モデルは必ずしも必要ではない。
静的なウェブページとは何度見ても誰が見ても同じコンテンツを返すだけの動きのないウェブページのこと。
動的なページはその逆で、ユーザーごとに見せるページが変わったりする。
例:Youtubeなど
V:View(主にHTMLを担当)
主にHTMLを作成する部分を担当する。
Webアプリケーションなので単純なHTMLではなく、
コントローラーを経由して渡されたデータを、HTMLに埋め込んでユーザのリクエストに応じて表示内容を変えて返すことになる。
RailsではデフォルトでERBと言う形式のテンプレートを使ってHTMLを書いていく。
このテンプレートを使うことによってHTMLの中にRubyのコードを埋め込むことができる。
追記:<%%><%=%>などを埋め込めるよ!
C:Controller(モデルとビューの仲介役)
ユーザからのリクエストを受けモデルとビューの仲介役をし、
最終的にユーザにページのコンテンツを返す役割を担っている。
追記:モデルからデータをもらいビューに使うよ!