ぞえの技術めも

Ruby on Rails勉強中

2016-01-01から1年間の記事一覧

【92日目】【1日20分のRailsチュートリアル】【第8章】記憶ブランチをテストする

Ruby on Railsチュートリアル(第3版) 今日は「8.4.6 Rememberのテスト」の「記憶ブランチをテストする」から。 8.4.6 Rememberのテスト 記憶ブランチをテストする current_user内のある分岐部分については、これまでまったくテストが行われていないのです。 …

【91日目】【1日20分のRailsチュートリアル】【第8章】“Remember me”チェックボックスをテストする

Ruby on Railsチュートリアル(第3版) 今日は「8.4.6 Rememberのテスト」から。 8.4.6 Rememberのテスト しかしもっと重要な理由は、ユーザーを永続化するコードの中心部分が、実はまだまったくテストされていないからです。 そうだっけ…そうかもしれない。。…

【90日目】【1日20分のRailsチュートリアル】【第8章】“Remember me”チェックボックスを追加する

Ruby on Railsチュートリアル(第3版) 今日は「8.4.5 “Remember me” チェックボックス」から。 8.4.5 “Remember me” チェックボックス 今回の実装は、リスト8.2のログインフォームにチェックボックスを追加するところから始めます。 ログインフォームのビュー…

【89日目】【1日20分のRailsチュートリアル】【第8章】2つの目立たないバグに対するテストを作成する

Ruby on Railsチュートリアル(第3版) 今日は「8.4.4 2つの目立たないバグ」のテストを書くところから。 8.4.4 2つの目立たないバグ テスト駆動開発は、この種の地味なバグ修正にはうってつけです。そこで、2つのエラーをキャッチするテストを書くことにし…

【88日目】【1日20分のRailsチュートリアル】【第8章】2つの目立たないバグの原因を理解する

Ruby on Railsチュートリアル(第3版) 今日は「8.4.4 2つの目立たないバグ」から。 8.4.4 2つの目立たないバグ 実は小さなバグが2つ残っています。2つのバグは互いに強く関連しています。 へ~。まとめるとこんな感じらしい。 (1)同じサイトに複数のウィ…

【87日目】【1日20分のRailsチュートリアル】【第8章】ログアウトで保持しているユーザー情報を削除する

Ruby on Railsチュートリアル(第3版) 今日は「8.4.3 ユーザーを忘れる」から。 8.4.3 ユーザーを忘れる ユーザーがログアウトできるようにするために、ユーザーを記憶するためのメソッドと同様の方法で、ユーザーを忘れるためのメソッドを定義します。 どう…

【86日目】【1日20分のRailsチュートリアル】【第8章】ログイン状態の保持機能を追加する

Ruby on Railsチュートリアル(第3版) 今日は「8.4.2 ログイン状態の保持」のトークンが記憶ダイジェストと一致するか確認するから。 8.4.2 ログイン状態の保持 攻撃者が仮に両方のcookiesを奪い取ることに成功したとしても、本物のユーザーがログアウトする…

【85日目】【1日20分のRailsチュートリアル】【第8章】記憶トークンとユーザーIDをcookiesに保存する

Ruby on Railsチュートリアル(第3版) 今日は「8.4.2 ログイン状態の保持」から。 8.4.2 ログイン状態の保持 個別のcookiesは、ひとつのvalue (値) と、オプションのexpires (有効期限) からできています。 valueには記憶トークンの値を設定すればいいらしい…

【84日目】【1日20分のRailsチュートリアル】【第8章】セッション永続化のために記憶トークンを生成する

Ruby on Railsチュートリアル(第3版) 今日は「8.4 [このアカウント設定を保存する]」から。 8.4 [このアカウント設定を保存する] 本節では、ユーザーログインをデフォルトで保持するように変更し、 (中略) 前者はGitHubやBitbucketで、後者はFacebookやTwi…

【83日目】【1日20分のRailsチュートリアル】【第8章】ログアウト機能を追加する

Ruby on Railsチュートリアル(第3版) 今日は「8.3 ログアウト」から。 8.3 ログアウト ユーザーセッションを破棄するための有効なアクションをコントローラで作成するだけで済みます。 ユーザーセッションを破棄するlog_outメソッドをSessionヘルパーに追加…

【82日目】【1日20分のRailsチュートリアル】【第8章】ユーザー登録時にログインするようにする

Ruby on Railsチュートリアル(第3版) 今日は「8.2.5 ユーザー登録時にログイン」から。 8.2.5 ユーザー登録時にログイン 以上で認証システムが動作するようになりましたが、今のままでは、登録の終わったユーザーがデフォルトではログインしていないので、 …

【81日目】【1日20分のRailsチュートリアル】【第8章】レイアウト変更確認用テストを追加する

Ruby on Railsチュートリアル(第3版) 今日は「8.2.4 レイアウトの変更をテストする」のテストを作成するところから。 8.2.4 レイアウトの変更をテストする ハッシュ化されていない生のパスワードも参照できると便利です。 (中略) この状況を切り抜けるため…

【80日目】【1日20分のRailsチュートリアル】【第8章】テスト用ユーザーを準備する

Ruby on Railsチュートリアル(第3版) 今日は「8.2.4 レイアウトの変更をテストする」から。 8.2.4 レイアウトの変更をテストする ログイン用のパスを開く セッション用パスに有効な情報をpostする ログイン用リンクが表示されなくなったことを確認する ログ…

【79日目】【1日20分のRailsチュートリアル】【第8章】ログイン状態によってレイアウトを変更する

Ruby on Railsチュートリアル(第3版) 今日は「8.2.3 レイアウトリンクを変更する」から。 8.2.3 レイアウトリンクを変更する ログイン機能の最初の具体的な応用として、ユーザーがログインしているときとそうでないときでレイアウトを変更してみましょう。 …

【78日目】【1日20分のRailsチュートリアル】【第8章】ログインしているユーザーのユーザー名を取得する

Ruby on Railsチュートリアル(第3版) 今日は「8.2.2 現在のユーザー」から。 8.2.2 現在のユーザー 今度はそのユーザーIDを別のページで取り出すことにしましょう。 そのためには、current_userメソッドを定義して、セッションIDに対応するユーザー名をデー…

【77日目】【1日20分のRailsチュートリアル】【第8章】一時セッションでユーザーをログインできるようにする

Ruby on Railsチュートリアル(第3版) 今日は「8.2 ログイン」から。 Ruby on Railsチュートリアル 第4版が公開されましたが、 途中で切り替えるわけにもいかないので第3版で進めます。 8.2 ログイン この節では、cookiesを使用する一時セッションでユーザー…

【76日目】【1日20分のRailsチュートリアル】【第8章】フラッシュメッセージのテストを作成する

Ruby on Railsチュートリアル(第3版) 今日は「8.1.5 フラッシュのテスト」から。 8.1.5 フラッシュのテスト アプリケーションのログインの挙動をテストするために、最初に統合テストを生成します。 生成します。 $ rails generate integration_test users_lo…

【75日目】【1日20分のRailsチュートリアル】【第8章】ログイン失敗時のエラーメッセージを表示する

Ruby on Railsチュートリアル(第3版) 今日は「8.1.4 フラッシュメッセージを表示する」から。 8.1.4 フラッシュメッセージを表示する ログインに失敗したときには代わりにフラッシュメッセージを表示することにします。最初のコードをリスト8.6に示します (…

【74日目】【1日20分のRailsチュートリアル】【第8章】ユーザーの検索と認証処理の実装

Ruby on Railsチュートリアル(第3版) 今日は「8.1.3 ユーザーの検索と認証」から。 8.1.3 ユーザーの検索と認証 最初に最小限のcreateアクションをSessionsコントローラで定義し、空のnewアクションとdestroyアクションもついでに作成しておきましょう。 作…

【73日目】【1日20分のRailsチュートリアル】【第8章】Sessionsコントローラとログインフォームの作成

Ruby on Railsチュートリアル(第3版) 今日は「8.1.1 Sessionsコントローラ」から。 8.1.1 Sessionsコントローラ 最初に、Sessionsコントローラとnewアクションを生成します。 作りました。 $ rails generate controller Sessions new newアクションを生成す…

【72日目】【1日20分のRailsチュートリアル】【第8章】第8章向けの作業ブランチを作成

Ruby on Railsチュートリアル(第3版) 今日から第8章! 第8章 ログイン、ログアウト 第7章でWebサイトでの新規ユーザー登録が行えるようになりましたので、今度はユーザーがログインやログアウトを行えるようにしましょう。 ユーザーのログイン/ログアウトは…

【71日目】【1日20分のRailsチュートリアル】【第7章】演習の4.(flash用のHTMLを読みやすくする)

Ruby on Railsチュートリアル(第3版) 今日は「7.7 演習」の4.から。 7.7 演習 4. 7.4.2で触れたように、flash用のHTML (リスト7.25) は読みにくいです。 より読みやすくしたリスト7.34のコードに対してテストスイートを実行し、こちらも正常に動作すること…

【70日目】【1日20分のRailsチュートリアル】【第7章】演習の3.(ユーザー登録後のflashに対するテストを追加)

Ruby on Railsチュートリアル(第3版) 今日は「7.7 演習」の3.から。 7.7 演習 7.4.2で実装したflashに対するテストを書いてみてください。どのくらい細かくテストするかはお任せします。 リスト7.33に最小限のテンプレートを用意しておいたので、参考にして…

【69日目】【1日20分のRailsチュートリアル】【第7章】演習の2.(無効なユーザー登録時のエラーメッセージのテストを追加)

Ruby on Railsチュートリアル(第3版) 今日は「7.7 演習」の2.から。 7.7 演習 リスト7.18で実装したエラーメッセージに対するテストを書いてみてください。 どのくらい細かくテストするかはお任せします。リスト7.32にテンプレートを用意しておいたので、参…

【68日目】【1日20分のRailsチュートリアル】【第7章】Rubyのバージョンと第7章のまとめと演習の1.

Ruby on Railsチュートリアル(第3版) 今日は「7.5.3 Rubyのバージョン番号」から。 7.5.3 Rubyのバージョン番号 HerokuのデプロイするときにRubyのバージョンを明示的に指定してくださいというワーニングが表示される、という話。 うーん、、、出てたっけ。…

【67日目】【1日20分のRailsチュートリアル】【第7章】本番環境用Webサーバーの設定

Ruby on Railsチュートリアル(第3版) 今日は「7.5.2 本番環境用Webサーバー」から。 7.5.2 本番環境用Webサーバー WEBrickは本番環境として適切なWebサーバではありません。よって、今回はWEBrickをPumaというWebサーバに置き換えてみます。 はい。 まずはpu…

【66日目】【1日20分のRailsチュートリアル】【第7章】masterブランチへのマージと本番環境でのSSL対応

Ruby on Railsチュートリアル(第3版) 今日は「7.5 プロのデプロイ」から。 7.5 プロのデプロイ ユーザー登録をセキュアにするために、本番用のアプリケーションに重要な機能を追加していきます。 その後、デフォルトのWebサーバを実際の世界で使われているWe…

【65日目】【1日20分のRailsチュートリアル】【第7章】ユーザー登録成功時のテスト

Ruby on Railsチュートリアル(第3版) 今日は「7.4.4 成功時のテスト」から。 7.4.4 成功時のテスト 有効な情報を送信して、ユーザーが作成されたことを確認します。 assert_differenceを使ってPOSTリクエスト送った後にユーザー数が1増えていることを確認す…

【64日目】【1日20分のRailsチュートリアル】【第7章】実際のユーザー登録を実施する

Ruby on Railsチュートリアル(第3版) 今日は「7.4.3 実際のユーザー登録」から。 7.4.3 実際のユーザー登録 名前を “Rails Tutorial”、メールアドレスを “example@railstutorial.org”として登録してみましょう。 してみましょう。 サーバーを起動して $ rail…

【63日目】【1日20分のRailsチュートリアル】【第7章】ユーザー登録フォームを完成させる

Ruby on Railsチュートリアル(第3版) 今日は「7.4 ユーザー登録成功」から。 7.4 ユーザー登録成功 まずは、ユーザーを保存できるようにします。保存に成功すると、ユーザー情報は自動的にデータベースに登録されます。 次にブラウザの表示をリダイレクトし…