Ruby on Railsチュートリアルで学んだ内容を個人的なメモとして簡単にまとめたものです
個人メモ
- Sessionを設定することでコンピュータ間(ユーザーのパソコンのWebブラウザとRailsサーバーなど)を半永続的に接続することが可能
- cookies
ユーザーのブラウザに保存される小さなテキストデータのこと
Cookiesを保存場所とすることでセッション機能を実現する - form_with(url: login_path, scope: :session)
セッションではSessionモデルがなく、そのためsessionインスタンス変数に相当するものがない
したがって、form_withヘルパーにはscopeとurlを指定する必要がある - Rubyではnilとfalse以外のすべてのオブジェクトは、真偽値ではtrueになる
- flash.nowのメッセージはその後リクエストが発生したときに消滅する
- 全コントローラの親クラスである「Applicationコントローラ」にセッションヘルパーをincludeすることでどのコントローラからでもメソッドを呼び出せる(この章で実装するログイン機構は様々な場面で用いるため)
- sessionメソッド
ユーザーのブラウザ内の一時cookiesに暗号化済みのユーザーIDが自動で作成される - メモ化(memorization)
メソッド呼び出しの結果を変数に保存し、次回以降の呼び出しで結果を再利用する手法 - user_path
引数にidを指定すると自動でパスに変換してくれるヘルパーメソッド
なお、引数がオブジェクトであることを自動で認識するため省略できる - ブラウザで「検証」より「デバイスのツールバーを切り替え」機能を利用すると、様々なモバイルデバイスでアプリがどのように表示されるか確認できる
- fixture
テスト用のデータ
ユーザーがログインできることを確認するテストにて用いる - digestメソッド
渡された文字列のハッシュ値を返すメソッド
テストではハッシュを算出するためのコストを最小にし、本番では通常の高いコストで計算する - reset_sessionメソッド
すべてのセッション変数をリセットできる - status: :see_other(303 See Otherステータス)
DERETEリクエスト時のステータス