超初心者の為のRuby on Rails基礎〜ビュー/コントローラ/ルーティング〜

この記事に関しては僕の思考の整理の為のメモという要素が強いですので多少わかりにくいところがあったらすみません。というかメモなのでわかりにくい!絶対!読まないで!笑

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ファイルがブラウザに返される

という一連の流れが分かると思います。

 

西江健司をフォローする


 







ABOUTこの記事をかいた人

自由なサラリーマンになる為のライフハック情報を発信中。 受験ブログが受験ブログランキング1位になり著書『引きニートコミュ障、偏差値28から早稲田に行く』を出版。 LINEスタンプ『お寿司ですが何か?』『意識低い系キリン』なども発売中。

コメントを残す

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