---
# System prepended metadata

title: 輪読会(20201112)
tags: [輪読会]

---

# 輪読会(20201112)
###### tags:`輪読会`
## 今日の学習範囲
→P64~80 「Railsに触れてみよう」

## 注意事項

- P61に「データベースのインストールとセットアップ」がありますが、今回は「PostgreSQL」ではなく「SQLite3」を使うので飛ばしてOK（コマンドを入力しなくて問題ないです）

- P64で「rails new」をする際、本書では`-d postgresql`オプションを指定してますが今回は「SQLite3」を使うので指定しないでください
- 下記コマンドを入力しましょう
 `$ rails _5.2.1_ new scaffold_app`
## 参加人数
- 16人

## 前半

`$ rails _5.2.1_ new scaffold_app`
→Railsのバージョンを指定してRailsのアプリを作りましょう

- 発生したエラー
[![Image from Gyazo](https://i.gyazo.com/df8119ca29ca1d27c417009f0c01a095.png)](https://gyazo.com/df8119ca29ca1d27c417009f0c01a095)
[![Image from Gyazo](https://i.gyazo.com/43719e6257d07c1686ee7aeaf0c936a1.png)](https://gyazo.com/43719e6257d07c1686ee7aeaf0c936a1)

    →rubyのバージョンが指定されていないので
`$ ruby local 2.5.1` などでrubyのバージョンを指定してください


`$ cd scaffold_app`
→ディレクトリを移動

`$ bin/rails db:create`
→データベースを作る。

`$ bin/rails s`
→Railsサーバーを立ち上げます！
ブラウザで`localhost:3000`にアクセスして、下記の画面が出てるとOKです
[![Image from Gyazo](https://i.gyazo.com/283d7952829018b62eceb1ad8151d4d5.png)](https://gyazo.com/283d7952829018b62eceb1ad8151d4d5)

` $ bin/rails generate scaffold user name:string address:string age:integer`
→ユーザー登録の機能を簡単に作ることができるコマンドです。
　scaffold →足場という意味

` $ bin/rails db:migrate`
→ユーザー管理機能に使うテーブルをデータベースに作成

` $ bin/rails s`
→サーバーを起動し、ブラウザで`localhost:3000/users`にアクセス！
そうすると下記のような画面になります。
[![Image from Gyazo](https://i.gyazo.com/c6215c2eafe6795b8057a841e433ba36.png)](https://gyazo.com/c6215c2eafe6795b8057a841e433ba36)

ここまでで一通りCRUDができたので理解できるようにしましょう！
実際に画面をさわってみて動かしていきましょう！
Create(作成)、Read(参照)、Update(更新)、Delete(削除)
[![Image from Gyazo](https://i.gyazo.com/51cf623d11b43a14cc443fc0d9c92717.png)](https://gyazo.com/51cf623d11b43a14cc443fc0d9c92717)

MVC（モデル・ビュー・コントローラ）も理解しましょう！

ディレクトリ構成もチェックしておきましょう！










## 質問
- `rails`コマンドと`bin/rails`コマンドって何が違うんですか？
[伊藤淳一さん記事](https://qiita.com/jnchito/items/c5a0848144203dce6e26)を参照してください
- CRUDってどういう意味？
Create(作成)
Read(読み出し)
Update(更新)
Delete(削除)
の頭文字の集まりだよ！

## TIPS
- ActiveRecordのメソッドで発行されているSQLを見たい！
`to_sql`メソッドがいいぜ！(by ぶしとらさん)
```ruby
>> User.all.to_sql
   (1.8ms)  SELECT sqlite_version(*)
=> "SELECT \"users\".* FROM \"users\""
>>
```


- アダプタってなに？
`gem 'mysql2'`はアダプタ（変換器）
変換することでポスグレ・Mysqlにアクセスできるようになる