ホーム画面とユーザーの紹介ページを作成する

# ルーティングを作成する
```routes.rb
Rails.application.routes.draw do
  get 'user/:id',               to: 'user#show'

end
```

# コントローラーを設定する

```users_controller.rb
class UsersController < ApplicationController
  def show
  end
end
```
# データベースの中にuserテーブルとその中身があるのかを確認
```
**********@mbp ****** % mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.28 Homebrew

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+---------------------------+
| Database                  |
+---------------------------+
| garden_development        |
| garden_review_development |
| garden_review_test        |
| garden_test               |
| information_schema        |
| mysql                     |
| performance_schema        |
| sys                       |
+---------------------------+
8 rows in set (0.03 sec)

mysql> show tables;
ERROR 1046 (3D000): No database selected
mysql> use garden_development
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+------------------------------+
| Tables_in_garden_development |
+------------------------------+
| users                        |
+------------------------------+
1 row in set (0.00 sec)

mysql> select * from users;
+----+--------------------+
| id | name               |
+----+--------------------+
| 60 | ブイゼル           |
| 61 | あ           |
| 62 | あ     |
| 63 | あ       |
| 64 | あ                 |
| 65 | あ       |
| 66 | あ                 |
| 67 | あ                 |
| 68 | あ                 |
| 69 | い                 |
| 70 | あ                 |
| 71 | あ                 |
| 72 | ブイゼル           |
| 73 | ブイゼル           |
| 74 | ブイゼル           |
| 75 | ブイゼル           |
| 76 | 早起き             |
| 77 | a                 |
| 78 | あ       |
+----+--------------------+
19 rows in set (0.01 sec)
```
usersテーブルはあった。中身も確認

## Routing Error
No route matches [GET] "/users/60"

ルーティングがない
```routes.rb
Rails.application.routes.draw do
  get 'users/:id',               to: 'user#show'
end
```

## Routing Error
uninitialized constant UserController Object.const_get(camel_cased_word) ^^^^^^^^^^ Did you mean? UsersController raise MissingController.new(error.message, error.name) ^^^^^
ルーティングの設定がおかしいのに気が付く。
もし会っているのならば```No template for interactive request```が表示されるはずだ。
```uninitialized constant UserController ```,```usersController raise MissingController```でなんとなくコントローラー名が間違っていることに気が付く。
```users_controller.rb
Rails.application.routes.draw do
  get 'users/:id',               to: 'user#show'
end
```
```users_controller.rb
Rails.application.routes.draw do
  get 'users/:id',               to: 'users#show'
end
```
```s```が書かれていなかった。
成功！

## No template for interactive request
UsersController#show is missing a template for request formats: text/html

show.htmlを作らなければならない。
```show.html
<!DOCTYPE html>
<html class="client-nojs" lang="ja" dir="ltr">
<head>
  <meta charset="UTF-8"/>
  <link rel="stylesheet" href="index.scss">
  <title>課題　新規登録ページ</title>
</head>
<body class="abcd">
<div class="edfg">
  <div>ユーザー紹介</div>
  <div>
    <%= @user %>
  </div>
  <div>
  </div>

</div>
<footer id="footer"></footer>
</body>
</html>
```
```@user```インスタンス変数を設定する
``` user_controller.rb
class UsersController < ApplicationController
  def show
    @user = User.find_by(id: params[:id])
  end
end
```
これで:idを基にユーザーを探せるはず。
これでどうだ。
## ユーザー紹介 #<User:0x0000000110cecc30> と表示された。
何かコントローラか何かで不具合があったと思われる。
### 解決　
```インスタンス変数@user```のどの属性を表示すればいいか分からなかっただけだった。
```show.html
.
.
.
   <div>
    <%= @user.neme %>
   </div>
.
.
.
```
name属性を付け加えればよかった。
成功！

## これだけだと何かひもじいので
progateで勉強した。
```create_at```をつけてやればいいかなと思って試してみる
一応my_sqlのカラムには存在はしない
```show.html
   <div>
    <%= @user.create_at %>
   </div>
```
```NoMethodError in Users#show```が表示されたやはり```create_at```では表示はされない。
新しくカラムを追加しなければならないらしい。
今はまだmy_sqlでのカラムの追加を知らないのでこれから学ぶことがいっぱいだ。
またHTML/CSSに関する基礎知識も知らないので頑張りたい。

# ホーム画面を作ってみる
## ルーティングを設定する
```routes.rb
Rails.application.routes.draw do
  get '/',                       to: 'home#top'
  get 'users/:id',               to: 'users#show'
end
```
```home_controller.rb
class HomeController < ApplicationController
  def top
  end
end
```
```top.html
<!DOCTYPE html>
<html class="client-nojs" lang="ja" dir="ltr">
<head>
  <meta charset="UTF-8"/>
  <link rel="stylesheet" href="index.scss">
  <title>課題　新規登録ページ</title>
</head>
<body class="abcd">
<div class="edfg">
  <div>アプリを始めよう!</div>
</div>
<footer id="footer"></footer>
</body>
```


# SyntaxError
/Users/**************/*****/******/app/controllers/home_controller.rb:1: class/module name must be CONSTANT
class homeController < ApplicationController
constant 定数
```name must be CONSTANT```は大文字にしろと言う意味だろうか？
そうと察して
```home_controller.rb
class HomeController < ApplicationController
.
.
.
end
```
にしてみた。
成功！