この記事に関しては僕の思考の整理の為のメモという要素が強いですので多少わかりにくいところがあったらすみません。というかメモなのでわかりにくい!絶対!読まないで!笑
Contents
Railsで開発を進めるには
開発に必要なファイルを作成しよう
ターミナル上で「rails new アプリ名」というコマンドを実行する
すると必要なファイルがあれよこれよという間に自動で用意されるんです。
サーバーを立ち上げよう
ターミナル上で「rails server」というコマンドを実行する
その後ブラウザ上で「localhost:3000」にアクセスすると初期画面が表示されます。
サーバーが無いとデータのやり取りが出来ないので、先程のファイル作成と合わせて行いましょう。
トップページを作ろう
ターミナル上で「rails g controller home top」というコマンドを実行する
するとlocalhost:3000/home/topというURLにアクセスできるようになります。
これを実行すると
・ビュー
・コントローラ
・ルーティング
という3つのファイルが作られます。
このおかげでページが表示されるようになるんです。
なんで、表示されるようになるのかは初心者の人にはわからないと思うので、これらのファイルの役割を順を追って説明します。
ビューとは
ビューはブラウザ上に表示される「見た目」を形成します。
先程の「rails g controller home top」を実行すると
app
-views
-home
-top.html.erb
という階層関係でファイルが作成されます。
このtop.html.erbというファイルのHTMLをいじればページの見た目を自由にデザインできるというわけです!
コントローラとは
次にコントローラの説明をします。
先程のビューを表示するにはコントローラを経由して表示します。
先程の「rails g controller home top」を実行すると
app
-controllers
-home_controller.rb
という階層関係でファイルが作成されます。
このコントローラファイルの中にはtopメソッドが追加されているはずです。
また、コントローラ内のメソッドのことを特にアクションと呼びます。
コントローラと同じ名前のビューフォルダの中からアクションと同じ名前のHTMLファイルをブラウザに返します。
ルーティングとは
次にルーティングの説明をします。
ブラウザとコントローラーを繋ぐ役割を担うのがルーティングです。
ルーティングは任意のURLに対してどのコントローラのどのアクションを行うのかを決定してくれます。
ルーティングは「config/routes.rb」に定義され、
先程の「rails g controller home top」を実行すると
app
-config
-routes.rb
という階層関係でファイルが作成されます。
またルーティングは
「get “URL”=>”コントローラ名#アクション名”」という文法で表します。
今回は
get “home/top”=>”home#top”
です。
これで「localhost:3000/home/top」が送信された時にhomeコントローラのtopアクションが実行されるということになります。
先程の「rails g controller home top」を実行すると ブラウザ→ルーティング→どのコントローラのどのアクションを実行するか決まる→同じコントローラ名のビューの中の同じHTMLファイルがブラウザに返される
という一連の流れが分かると思います。
けんちゃんをフォローする
コメントを残す