2016-01-01から1年間の記事一覧
Ruby on Railsチュートリアル(第3版) 今日は「8.4.6 Rememberのテスト」の「記憶ブランチをテストする」から。 8.4.6 Rememberのテスト 記憶ブランチをテストする current_user内のある分岐部分については、これまでまったくテストが行われていないのです。 …
Ruby on Railsチュートリアル(第3版) 今日は「8.4.6 Rememberのテスト」から。 8.4.6 Rememberのテスト しかしもっと重要な理由は、ユーザーを永続化するコードの中心部分が、実はまだまったくテストされていないからです。 そうだっけ…そうかもしれない。。…
Ruby on Railsチュートリアル(第3版) 今日は「8.4.5 “Remember me” チェックボックス」から。 8.4.5 “Remember me” チェックボックス 今回の実装は、リスト8.2のログインフォームにチェックボックスを追加するところから始めます。 ログインフォームのビュー…
Ruby on Railsチュートリアル(第3版) 今日は「8.4.4 2つの目立たないバグ」のテストを書くところから。 8.4.4 2つの目立たないバグ テスト駆動開発は、この種の地味なバグ修正にはうってつけです。そこで、2つのエラーをキャッチするテストを書くことにし…
Ruby on Railsチュートリアル(第3版) 今日は「8.4.4 2つの目立たないバグ」から。 8.4.4 2つの目立たないバグ 実は小さなバグが2つ残っています。2つのバグは互いに強く関連しています。 へ~。まとめるとこんな感じらしい。 (1)同じサイトに複数のウィ…
Ruby on Railsチュートリアル(第3版) 今日は「8.4.3 ユーザーを忘れる」から。 8.4.3 ユーザーを忘れる ユーザーがログアウトできるようにするために、ユーザーを記憶するためのメソッドと同様の方法で、ユーザーを忘れるためのメソッドを定義します。 どう…
Ruby on Railsチュートリアル(第3版) 今日は「8.4.2 ログイン状態の保持」のトークンが記憶ダイジェストと一致するか確認するから。 8.4.2 ログイン状態の保持 攻撃者が仮に両方のcookiesを奪い取ることに成功したとしても、本物のユーザーがログアウトする…
Ruby on Railsチュートリアル(第3版) 今日は「8.4.2 ログイン状態の保持」から。 8.4.2 ログイン状態の保持 個別のcookiesは、ひとつのvalue (値) と、オプションのexpires (有効期限) からできています。 valueには記憶トークンの値を設定すればいいらしい…
Ruby on Railsチュートリアル(第3版) 今日は「8.4 [このアカウント設定を保存する]」から。 8.4 [このアカウント設定を保存する] 本節では、ユーザーログインをデフォルトで保持するように変更し、 (中略) 前者はGitHubやBitbucketで、後者はFacebookやTwi…
Ruby on Railsチュートリアル(第3版) 今日は「8.3 ログアウト」から。 8.3 ログアウト ユーザーセッションを破棄するための有効なアクションをコントローラで作成するだけで済みます。 ユーザーセッションを破棄するlog_outメソッドをSessionヘルパーに追加…
Ruby on Railsチュートリアル(第3版) 今日は「8.2.5 ユーザー登録時にログイン」から。 8.2.5 ユーザー登録時にログイン 以上で認証システムが動作するようになりましたが、今のままでは、登録の終わったユーザーがデフォルトではログインしていないので、 …
Ruby on Railsチュートリアル(第3版) 今日は「8.2.4 レイアウトの変更をテストする」のテストを作成するところから。 8.2.4 レイアウトの変更をテストする ハッシュ化されていない生のパスワードも参照できると便利です。 (中略) この状況を切り抜けるため…
Ruby on Railsチュートリアル(第3版) 今日は「8.2.4 レイアウトの変更をテストする」から。 8.2.4 レイアウトの変更をテストする ログイン用のパスを開く セッション用パスに有効な情報をpostする ログイン用リンクが表示されなくなったことを確認する ログ…
Ruby on Railsチュートリアル(第3版) 今日は「8.2.3 レイアウトリンクを変更する」から。 8.2.3 レイアウトリンクを変更する ログイン機能の最初の具体的な応用として、ユーザーがログインしているときとそうでないときでレイアウトを変更してみましょう。 …
Ruby on Railsチュートリアル(第3版) 今日は「8.2.2 現在のユーザー」から。 8.2.2 現在のユーザー 今度はそのユーザーIDを別のページで取り出すことにしましょう。 そのためには、current_userメソッドを定義して、セッションIDに対応するユーザー名をデー…
Ruby on Railsチュートリアル(第3版) 今日は「8.2 ログイン」から。 Ruby on Railsチュートリアル 第4版が公開されましたが、 途中で切り替えるわけにもいかないので第3版で進めます。 8.2 ログイン この節では、cookiesを使用する一時セッションでユーザー…
Ruby on Railsチュートリアル(第3版) 今日は「8.1.5 フラッシュのテスト」から。 8.1.5 フラッシュのテスト アプリケーションのログインの挙動をテストするために、最初に統合テストを生成します。 生成します。 $ rails generate integration_test users_lo…
Ruby on Railsチュートリアル(第3版) 今日は「8.1.4 フラッシュメッセージを表示する」から。 8.1.4 フラッシュメッセージを表示する ログインに失敗したときには代わりにフラッシュメッセージを表示することにします。最初のコードをリスト8.6に示します (…
Ruby on Railsチュートリアル(第3版) 今日は「8.1.3 ユーザーの検索と認証」から。 8.1.3 ユーザーの検索と認証 最初に最小限のcreateアクションをSessionsコントローラで定義し、空のnewアクションとdestroyアクションもついでに作成しておきましょう。 作…
Ruby on Railsチュートリアル(第3版) 今日は「8.1.1 Sessionsコントローラ」から。 8.1.1 Sessionsコントローラ 最初に、Sessionsコントローラとnewアクションを生成します。 作りました。 $ rails generate controller Sessions new newアクションを生成す…
Ruby on Railsチュートリアル(第3版) 今日から第8章! 第8章 ログイン、ログアウト 第7章でWebサイトでの新規ユーザー登録が行えるようになりましたので、今度はユーザーがログインやログアウトを行えるようにしましょう。 ユーザーのログイン/ログアウトは…
Ruby on Railsチュートリアル(第3版) 今日は「7.7 演習」の4.から。 7.7 演習 4. 7.4.2で触れたように、flash用のHTML (リスト7.25) は読みにくいです。 より読みやすくしたリスト7.34のコードに対してテストスイートを実行し、こちらも正常に動作すること…
Ruby on Railsチュートリアル(第3版) 今日は「7.7 演習」の3.から。 7.7 演習 7.4.2で実装したflashに対するテストを書いてみてください。どのくらい細かくテストするかはお任せします。 リスト7.33に最小限のテンプレートを用意しておいたので、参考にして…
Ruby on Railsチュートリアル(第3版) 今日は「7.7 演習」の2.から。 7.7 演習 リスト7.18で実装したエラーメッセージに対するテストを書いてみてください。 どのくらい細かくテストするかはお任せします。リスト7.32にテンプレートを用意しておいたので、参…
Ruby on Railsチュートリアル(第3版) 今日は「7.5.3 Rubyのバージョン番号」から。 7.5.3 Rubyのバージョン番号 HerokuのデプロイするときにRubyのバージョンを明示的に指定してくださいというワーニングが表示される、という話。 うーん、、、出てたっけ。…
Ruby on Railsチュートリアル(第3版) 今日は「7.5.2 本番環境用Webサーバー」から。 7.5.2 本番環境用Webサーバー WEBrickは本番環境として適切なWebサーバではありません。よって、今回はWEBrickをPumaというWebサーバに置き換えてみます。 はい。 まずはpu…
Ruby on Railsチュートリアル(第3版) 今日は「7.5 プロのデプロイ」から。 7.5 プロのデプロイ ユーザー登録をセキュアにするために、本番用のアプリケーションに重要な機能を追加していきます。 その後、デフォルトのWebサーバを実際の世界で使われているWe…
Ruby on Railsチュートリアル(第3版) 今日は「7.4.4 成功時のテスト」から。 7.4.4 成功時のテスト 有効な情報を送信して、ユーザーが作成されたことを確認します。 assert_differenceを使ってPOSTリクエスト送った後にユーザー数が1増えていることを確認す…
Ruby on Railsチュートリアル(第3版) 今日は「7.4.3 実際のユーザー登録」から。 7.4.3 実際のユーザー登録 名前を “Rails Tutorial”、メールアドレスを “example@railstutorial.org”として登録してみましょう。 してみましょう。 サーバーを起動して $ rail…
Ruby on Railsチュートリアル(第3版) 今日は「7.4 ユーザー登録成功」から。 7.4 ユーザー登録成功 まずは、ユーザーを保存できるようにします。保存に成功すると、ユーザー情報は自動的にデータベースに登録されます。 次にブラウザの表示をリダイレクトし…