MVCの基本ルーティング→コントローラー→ビューという順番で初めにトップページの作成から進めていきたいと思います。

  1. トップページのルーティングを設定
  2. コントローラーの作成
  3. 作成したコントローラーにアクションを作成
  4. トップページのビューを作成
  5. rootルーティングの設定

ルーティングを設定

config/routes.rbにtopsコントローラのhomeアクションのルーティングを追加します。

Rails.application.routes.draw do
  get 'tops/home'
end

追加したルーティングが正しいかrails routesコマンドで確認します。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/4be7ce5d-5bd2-431c-bfb6-efd1be9f18db/_2021-05-21_15.13.02.png

コントローラを作成

次にトップページで使うコントローラーを作成します。コントローラ名はTopsです。作成する悪事ション名も指定しておきます。

Sayo-MacBook-Pro:emoji_diary SAYO$ rails g controller Tops home
Running via Spring preloader in process 62173
Deprecation warning: Expected string default value for '--test-framework'; got false (boolean).
This will be rejected in the future unless you explicitly pass the options `check_default_type: false` or call `allow_incompatible_default_type!` in your code
You can silence deprecations warning by setting the environment variable THOR_SILENCE_DEPRECATION.
Deprecation warning: Expected string default value for '--test-framework'; got false (boolean).
This will be rejected in the future unless you explicitly pass the options `check_default_type: false` or call `allow_incompatible_default_type!` in your code
You can silence deprecations warning by setting the environment variable THOR_SILENCE_DEPRECATION.
      create  app/controllers/tops_controller.rb
      invoke  erb
      create    app/views/tops
      create    app/views/tops/home.html.erb
Sayo-MacBook-Pro:emoji_diary SAYO$
Deprecation warning: Expected string default value for '--test-framework'; got false (boolean).
This will be rejected in the future unless you explicitly pass the options `check_default_type: false` or call `allow_incompatible_default_type!` in your code
You can silence deprecations warning by setting the environment variable THOR_SILENCE_DEPRECATION.

これなんだろうと思ったので調べてみました。

下記のサイトを参考にして.envファイルの中に環境変数をセットして一度destroyしてからgeneratorコマンドを使いました。

.envファイル

THOR_SILENCE_DEPRECATION = true

参考 : https://qiita.com/d0ne1s/items/1ecd114b33e80058215f

Sayo-MacBook-Pro:emoji_diary SAYO$ rails destroy controller Tops home
Running via Spring preloader in process 62270
      remove  app/controllers/tops_controller.rb
      invoke  erb
      remove    app/views/tops
      remove    app/views/tops/home.html.erb
Sayo-MacBook-Pro:emoji_diary SAYO$ rails g controller Tops home
Running via Spring preloader in process 62292
      create  app/controllers/tops_controller.rb
      invoke  erb
      create    app/views/tops
      create    app/views/tops/home.html.erb