調べる項目

## 調べる項目

* ミドルウェア・・これがないと、railsなどは動かない。
* ライブラリとフレームワークの違い(体系的に理解したい)→ライブラリ・・rubyなど、コードで自分で使うもの。→フレームワーク・・型が決まっているので、ライブラリなど少し複雑になっている。
* `PATCH`と`PUT`の違い
* `link_to`に*disable_with*の二度押し防止をしたい。
* Moduleの使い方を意味を理解する。↓コントローラー生成[rails g controllerでディレクトリの階層以下にファイルを作成する方法 - mikami’s blog](http://mikamisan.hatenablog.com/entry/2016/03/10/161715)```module Admin コントローラ入れるend```
* Rspecスクリーンショットが出るように設定したい。<spec/support/spec_helper.rb>```RSpec.configure do |config|  config.before(:each, type: :support) do    driven_by :selenium_chrome_headless  end```
* `spec_helper.rb`, `rails_helper.rb` のテストコードを理解する(読みたい)
* RSpec、FactoryBotの設定、テスト実行ごとに既存のデータを削除していないからか、userがFactoryBotがランダムのidで作成しているのか。ちょっとわからない。。。```Capybara::ElementNotFound:       Unable to find link "download783"  ←めちゃuserが生成されている。```

* `data: { confirm: "#{user.email}削除してよろしいですか?" }`これだけで、できてしまった。本来であればconfirm画面が出た時に、if文で「ok」「cancel」の処理をしないと行けない。←これを[coffee_script]でする方法を知りたい。[railsgithubみたいな確認ダイアログを簡単に設定する方法 - Qiita](https://qiita.com/ihatov08/items/a0b3b043ba809fdc2cd6)
* <rails_helper.rb>でドライバーの確認した。```require 'capybara/poltergeist'```
* 読み方を知りたい([Method: Capybara::Session#accept_alert      — Documentation for jnicklas/capybara (master)](https://www.rubydoc.info/github/jnicklas/capybara/Capybara%2FSession:accept_alert)```script, text, optionとかなんのことなのかイメージができない。```
* ドライバ≒ブラウザだと思っているが、これって正しいのか?例えば、、ドライバーを`chorome`に設定した時にRspecの裏で動いているのは`chromeブラウザ`で動かしているイメージでやっている。あっているのか?

* redirect_toでパラメータを送る方法
* Rubocopを試す。
* バリデーションの順番変えたい。(カスタムバリデーションの実行を最後にしてほしい)
* seedを読み込みたい。一回だけ読み込みたい。何回もしたらそこで増えていく。
* `form_control`を当ててもスタイルが変わらないところがある。
* React.js, Vue.js, Nuxt.js
* docker.[『マンガでわかるDocker』を読んでDocker初心者がDockerがもっと好きになった話 - #がみぶろ](https://jumpei-ikegami.hatenablog.com/entry/2018/04/29/162455)