序文
Railsチュートリアルは難しいと聞いていたので、今まで習得したRailsの知識にさらに新しい知識をプラスしてくれるものだと思っていたのですが、そもそもRailsが難しいって話だったということに薄々気づいてきましたこんにちは。
進捗
- 第8章 基本的なログイン機構
- 8.2 ログイン
- 8.3 ログアウト
- 8.4 最後に
コード実装部分(一部)
/sample_app/test/integration/users_login_test.rb
require 'test_helper' class UsersLoginTest < ActionDispatch::IntegrationTest # テストの前に実行する # @userにfixturesで生成したユーザーデータを設定する def setup @user = users(:michael) end (中略) # 正しい情報でログインしてログアウトまでできるかのテスト test "login with valid information followed by logout" do # /loginにGETでアクセスする get login_path # /loginにPOSTで正しいログイン情報を送信する post login_path, params: { session: { email: @user.email, password: 'password' } } # リダイレクト先が@userであるか assert_redirected_to @user # 実際にリダイレクトする follow_redirect! # usersコントローラーのshowレイアウトが適用されているか assert_template 'users/show' # ログインへのリンクがなくなっているか assert_select "a[href=?]", login_path, count: 0 # ログアウトのリンクがあるか assert_select "a[href=?]", logout_path # ユーザー情報(@user)へのリンクがあるか assert_select "a[href=?]", user_path(@user) # /loginにDELETEでアクセスする(内部的にはPOSTらしい) delete logout_path # ログアウトされたか assert_not is_logged_in? # ログアウト後のリダイレクト先はroot_urlか(root_pathでもおk?) assert_redirected_to root_url # リダイレクト処理 follow_redirect! # ログインリンクがあるか assert_select "a[href=?]", login_path # ログアウトリンクがなくなったか assert_select "a[href=?]", logout_path, count: 0 # ユーザー情報へのリンクがなくなったか assert_select "a[href=?]", user_path(@user), count: 0 end end
GitHub
実行結果
感想
Railsチュートリアル8章終了。
できれば今年中にRailsチュートリアルを終わらせたいので、比較的スムーズに終わらせられたのは非常に良かった。
ログインとログアウト機能の実装完了。
私がプログラミングの学習方法としてひっそり提唱している「お手本コードをコピペしていいから、一行ずつコメント書け」という方法はやはり有効だと思う。
つーかこれ以外の方法でのちのち知識を役立てられる気がしない…。
いわゆる「写経」すすめる人って頭の構造が違うような気がするんですよね…。
特に意識しなくてもコード書きながらその意味を考えられる人というか…。
凡人(以下)はきっちりノートをとりながら知識を積み重ねていきましょう…。
カロリーメイトください…。

- 出版社/メーカー: 大塚製薬
- メディア: 食品&飲料
- この商品を含むブログを見る
今日のunityroom
ShadowManSearch | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
www.youtube.com
作り込んでますね。
動画には出てないんですが、床ぎりぎりの場所に着地したときにちょっと耐えるようなアクションが出てきてすごい。