教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
ルーティングによってひもづけられた処理の内容を定義するコントローラーを作成します。
コントローラーの名称は先程設定したルーティングでtop
と指定したので、top
コントローラーを作成していきます。
コントローラーはルーティングからリクエストを受け取り、データをモデルから取得したりモデルに保存するなどの作業を行い、最後にビューを使用してHTML出力を生成します。
コントローラーは「rails g controller コントローラー名」というコマンドで作成出来ます。以下のコマンドを実行してください。
console Copied!rails g controller top
上記のコマンドを実行するとターミナルに下記のような実行結果が表示されます。
console Copied!rails g controller top
Running via Spring preloader in process 75777
create app/controllers/top_controller.rb
invoke erb
create app/views/top
invoke test_unit
create test/controllers/top_controller_test.rb
invoke helper
create app/helpers/top_helper.rb
invoke test_unit
invoke assets
invoke scss
create app/assets/stylesheets/top.scss
次に作成したコントローラーにアクションを追加していきます。ルーティングが実際に処理するのはコントローラーに作成されたアクションです。
まず先ほど追加したルーティングを確認してみましょう。
名前付きヘルパー | HTTP動詞 | パス | コントローラー#アクション |
---|---|---|---|
top_index | GET | /top/index | top#index |
今回の場合はtop#index
、つまりtopコントローラーのindexアクションを処理するように指定しています。なのでtopコントローラーにindexアクションを作成していきましょう。
app/controllers/top_controller.rb
に以下のコードを追加してください。
app/controllers/top_controller.rb12345678 Copied!class TopController < ApplicationController
# ==========ここから追加する==========
def index
end
# ==========ここまで追加する==========
end
今回はトップページを表示させるだけで、特にデータベースからデータを取ってくるわけではないのでindexアクションの中には何も書かないです。
以上で今回のパートは終了です。
お疲れさまでした。