Ruby on Rails は Ruby 言語で Web アプリケーションを作るためのフレームワークです。
RoR と略されることも。
必要なコードの記述量が少なく、初学者のかたでも扱いやすいのが特徴です。
Ruby on Rails は 「MVC」アーキテクチャに基づいて設計されています。
MVC とは「モデル(Model)」、「ビュー(View)」、「コントローラー(Controller)」の頭文字をとったものです。
それぞれの役割がはっきりしており、分業しやすいめ機能の拡張などがしやすく効率よく開発することが可能です。
モデルは主に以下の役割を担っています。
基本的にはデータを扱う機能になりますが、コントローラーの肥大化(コード量が多くなりすぎること)を防ぐためにビジネスロジックのような具体的な処理を書く場所でもあります。
ビューは画面への表示を役割を担っている機能です。
モデルを通して得たデータを表示したり、ビューからコントローラーへ命令を送ることもあります。
直接ユーザーの目に触れる部分でもあるためデザインとも関わってくる部分です。
指示をうけとったり、他の機能へ指示をおこなうのがコントローラーの役目です。
ユーザーが操作し、ビューから送られた司令はコントローラーと通してモデルがデータを取得、それをビューへ返し表示させるといった流れをになることが多いです。
Ruby on Rails を学習する際は
Progate →
Rails チュートリアルと進むと良いです。
理由としては Rails チュートリアル自体がかなり実践的なアプリケーション開発となっているためいきなり取り組もうとすると挫折してしまう確率が高いからです。
Progate で基礎知識を抑えてから Rails チュートリアルへステップアップしていくとより理解が深まります。
Ruby on Rails はフレームワーク側で必要な処理をおこなってくれることが多く、豊富な Gem(ライブラリ)も存在するため実装量が減り、開発初期フェーズ(いわゆる0→1)を得意としています。
実際に Ruby on Rails を使用して作られている WEB サービスもたくさん存在しており、ネット上に情報が多い点もオススメの1つです。
Rubocop の CollectionLiteralInLoop の対処法
Rails ルーティングの member と collection の違いを解説
Rails で respond_to が NoMethodError になる場合の対処法
devise でアクセスに応じてログインセッションを延長する方法
RuboCop の cyclomatic complexity too high への対処法