// awesome-font

<Ruby on Rails> view、controller、routing

Railsでページを表示するには以下の3つのファイルが必要。

view

ページの見た目を作るためのhtmlファイル。
ファイル→ファイル名.html.erb

viewでリンクを設定

以下のコードをhtml.erbのリンクにしたい部分に記載。

<a href = "/routingで設定したURL">文字列</a>


controller

ページを表示するとき、Railsの中ではcontrollerを経由してviewをブラウザに返す。

コントローラファイル→フォルダ名_controller.rb

ファイルの中に自動生成時のファイル名と同じ名前のメソッド名が追加される。
コントローラのメソッドをアクションと呼ぶ。
コントローラと同じ名前のviewフォルダの中にある、
アクション名と同じ名前のhtmlファイルを探してブラウザに返す。

class 自動生成時のフォルダ名Controller < ApplicationController
 def ファイル名 #アクション
 end
end


routing

送信されたURLに対してどのコントローラのどのアクションで処理するかを決める「対応表」のこと。
ブラウザでURLを入力すると、ルーティングがURLを見て、適切なコントローラのアクションを呼ぶ。
config/routes.rbというファイルに定義され、下記のように表記される。

Rails.application.routes.draw do
get "URL" => "コントローラー名#アクション名"
end


<例>

URL Controller action
home/top home top


上記のように設定するとブラウザから「localhost:3000/home/top」というURLが送信されたとき、
homeコントローラーのtopアクションで処理されるようになる。

Image from Gyazo

topページをlocalhost:○○○○で表示

topページをlocalhost:○○○○で表示できるようにしたい場合は下記のように記述する。

Rails.application.routes.draw do
get "/" => "コントローラー名#アクション名"
end