未経験からの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

以下が表示されたら完成です。