---
# System prepended metadata

title: 輪読会（20201119）
tags: [輪読会]

---

# 輪読会（20201119）
###### tags:`輪読会`

## 今日の学習範囲
P.79 「scaffold_appアプリケーションを振り返って」から
P91まで

## 学習項目
### memo
- scaffold_appを振り返り
    - リクエストとレスポンスの話
    - フォームで送信するパラメータと、リクエストに対応するルーティング、
    - Controllerのアクションの呼び出し
    - Controllerでのパラメータ情報の受け取り、
    - ActiveRecordによるDBアクセス、
    - Renderによるテンプレートファイルの表示、
    - Redirectによる別アクションの実行など


チャプター３
`$ rails _5.2.1_ new taskleaf`
→データベースをSqliteを使うのでデータベースの指定はなし

` $ cd taskleaf`
→作成したアプリが有るディレクトリに移動

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

`$ bin/rails s`
→サーバーを起動して、立ち上がるか確認


`gem 'slim-rails'`
`gem 'html2slim'`
→Gemfileに記載する

`$ bundle`
→Gemfileに書かれたgem およびそれらの依存する gem をすべてインストールされた状態にしてくれます

`$ bundle exec erb2slim app/views/layouts/ --delete`
→rails newの時点でできてしまったテンプレートたちがerbになっているのでslimに変更した上でもともとのファイルを削除する

`gem 'bootstrap'`
→Gemfileに記載する

`$ bundle`
→→Gemfileに書かれたgem およびそれらの依存する gem をすべてインストールされた状態にしてくれます

`$ rm app/assets/stylesheets/application.css`
→拡張子を変更するので、削除します

app/assets/stylesheets/application.scss
→作成する

- scssとcssの違いは？
    - 効率よく表現できる形式

`app/assets/stylesheets/application.css
/*`
`*= require_self`
`*= require_tree .`
`*/`
↑これはコメントアウトじゃないので注意！


app/assets/stylesheets/application.scss　に
`@import "bootstrap";`
→追記

app/views/layouts/application.html.slim　に
`.app-title.navbar.navbar-expand-md.navbar-light.bg-light`
`.navbar-brand Taskleaf`
`.container`
→追記


`wget https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml --output-document=config/locales/ja.yml`
→rawファイルをconfig/locales/ja.ymlとしてダウンロード

- wgetのコマンドがない！
    - `$ brew install wget`でインストールしましょう！

config/initializers/locale.rb　を作成し、 
`Rails.application.config.i18n.default_locale = :ja`
→追記する


### おまけ
- jbuilderについて
  - デフォルトだと有効化されている。rails gでjsonフォーマット用のコードが生成される。
  - 不要であれば、無効化した上でrails gでコード生成すると、Controllerのコードが見やすくなる。
  - 一度、作成したscaffoldのControllerのソースコードを確認してください。その後`rails destroy scaffold`コマンドで削除してみましょう。その後、gemの無効化を行って、Controllerのコードがどう変化したのかを確認しましょう。

- gemを無効化する際の注意点
  - Gemfileは編集しただけでは使用するライブラリの変更が適用されない。bundle installが必要。
  - ちなみに、古いバージョンのライブラリを指定することも可能。それによって、依存関係のあるライブラリ全てのバージョンを自動で変更してくれる。
  ※ ここがbundlerを利用するメリット。gem installとgem uninstallで手作業で入れ直す場合は、依存性のあるライブラリも自分でバージョン指定して入れ直す必要がある。）
- rails g scaffoldで生成される各ファイルや、rails newで作成された各ディレクトリについても簡単に抑えておきたい。

## 参加人数

## 質問
