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アクションで処理されるようになる。
topページをlocalhost:○○○○で表示
topページをlocalhost:○○○○で表示できるようにしたい場合は下記のように記述する。
Rails.application.routes.draw do get "/" => "コントローラー名#アクション名" end