Railsの基礎を学ぼう(。-`ω-)
Ruby on Railsの基本的な概念を理解しよう!
Railsとは?
Ruby on Railsは、Rubyで書かれたWebアプリケーションフレームワークです。
例えるなら 「システム開発の『高級システムキッチン!!』」
ゼロからカマドを作ったり、調理器具を鉄から打って作る必要はありません。Railsには、プロのシェフ(開発者)が必要とする「コンロ」「冷蔵庫」「調理器具」があらかじめ最適な配置で用意されています!
そのため、私たちは「料理(アプリの機能)」を作ることにだけ集中すれば良いのです(`・ω・´)
↓ 以下のコマンド一発で、そのキッチンセット(アプリの土台)を用意できます ↓基本的なコマンド
Railsで開発するときによく使うコマンドをおさえておきましょう!
サーバーを起動 - お店をオープンするイメージで、これでブラウザからアクセスできるようになります!
起動後は'http://localhost:3000/'でアクセス可能です。
コードを生成 - 新しい機能の雛形を自動で作ってくれます!
例: rails generate controller Welcome
コンソールを起動 - 裏側でデータベースと対話したり、実験したりするための場所。
Rubyのコードを直接試すことができます。
Tips: コマンドには短縮形があります!
rails s (server)、
rails g (generate)、
rails c (console) と入力できます。
MVCフレームワークとは??(゜-゜)
MVCとはModel・View・Controllerの頭文字で、「役割分担をして開発しましょう」という設計思想です。
RailsはこのMVCを採用しています!
レストランで例えると...
お客さん
店長(ウェイター)
シェフ・食材庫番
盛り付け係
[ 注文の流れイメージ ]
- 1. User:「オムライスください(URLにアクセス)」
- 2. Controller(店長):「オーダー入りました!Modelさん、卵と米(データ)をお願い!」
- 3. Model(シェフ):「あいよ!(DBからデータを取り出し、加工して店長に渡す)」
- 4. Controller(店長):「ありがとう。次はViewさん、これをお皿に綺麗に盛って!」
- 5. View(盛り付け):「了解!(HTMLというお皿にデータを載せてページを作る)」
- 6. Controller(店長):「へいお待ち!(Userに画面を表示)」
技術的な役割分担
Model = データ担当
View = 見た目担当
Controller = 司令塔
この図式は、開発しながら徐々に体感で分かってきます。筆者もアプリを作りながら「仕事が早い君が店長か!見た目がおいしそうだ、君が盛り付け役か!おいしすぎる、君がシェフか!」と理解しました(*‘ω‘ *)
Railsアプリのフォルダの役割は??(゜-゜)
$ rails new でアプリを作ると大量のファイルが生成されます。
「うっ、何この大量のファイルたち!」と焦る必要はないです。
まずは以下の主要な場所だけ覚えればOKです!
家の間取りで例えると...
app/
【リビング・居住スペース】
私たちがコードを書くメインの場所です。
models/ - データ担当(Model)の部屋
views/ - 見た目担当(View)の部屋
controllers/ - 司令塔(Controller)の部屋
config/
【設計図・ルールブック】
アプリ全体の設定を置く場所です。
routes.rb は「URLとControllerを繋ぐ地図」のような超重要ファイルです。
db/
【倉庫】
データベースに関するファイルが入ります。
Gemfile
【道具カタログ】
アプリで使うライブラリ(Gem)を管理するリストです。
bin/
【道具類】
railsコマンドなどの実行ファイル置き場です(普段あまり触りません)。