未経験からのRuby on Rails|コントローラー
コントローラーとは
クライアントからの操作に対して、Model,View へのデータの橋渡しの役割を行います。
クライアントからのリクエストまず初めにコントローラーが受け取り、Model と連携し View へのデータ表示を行います。
コントローラの主な役割
- クライアントから入力を受け取る
- Model と連携(データの追加や変更
- クライアントからのリクエストにより適切に View を表示
- データを View に渡す
コントローラーの作成
Ruby on Rails には CLI ベースでコントローラを作成する機能が存在します。
開発効率が格段に上がるのでこれを使っていきましょう。
rails g controller コントローラー名 or rails generate controller コントローラー名
以上のコマンド使って homes コントローラーを作成してみます。
rails g controller homes or rails generate controller homes
ファイル名、homes_controller.rb が作成されたかと思います。
class HomesController < ApplicationController end
これ以外にも同時にテストファイルや css ファイルも自動に作成されます。
次項で実際にコントローラーに処理を記述し、ページ処理を行っていきたいと思います。
画面表示機能の追加
今回編集するファイルは以下の通りです。
- homes_controller.rb
パス: /app/controllers/homes_controller.rb - routes.rb
パス: /config/routes.rb - top.html.erb(新規追加)
パス: /app/views/homes/top.html.erb
homes_controller.rb
class HomesController < ApplicationController def top end end
top アクションを追加します。
routes.rb
Rails.application.routes.draw do root to: ‘homes#top’ end
アプリケーションルートにアクセスされた際に homes コントローラーの top アクションにルーティングされます。
top.html.erb
hello world
確認してみましょう
rails s
以下が表示されたら完成です。