ぞえの技術めも

Ruby on Rails勉強中

【129日目】【1日20分のRailsチュートリアル】【第10章】アカウント有効化の統合テストを追加する

Ruby on Railsチュートリアル(第3版) 今日は「10.1.4 有効化のテストとリファクタリング」から。 10.1.4 有効化のテストとリファクタリング この節では、アカウント有効化の統合テストを追加します。 正しい情報でユーザー登録を行った場合のテスト (リスト7…

【128日目】【1日20分のRailsチュートリアル】【第10章】アカウント有効化の動作を確認する

Ruby on Railsチュートリアル(第3版) 今日は「10.1.3 アカウントを有効化する」のesitアクション書くところから。 10.1.3 アカウントを有効化する authenticated?がリスト10.24のようになったことで、やっとeditアクションを書く準備ができました。 ようやく…

【127日目】【1日20分のRailsチュートリアル】【第10章】アカウント有効化向けにauthenticated?メソッドを変更する

Ruby on Railsチュートリアル(第3版) 今日は「10.1.3 アカウントを有効化する」から。 10.1.3 アカウントを有効化する リスト10.23のとおりにメールが生成できたら、今度はAccountActivationsコントローラのeditアクションを書いて、実際にユーザーを有効化…

【126日目】【1日20分のRailsチュートリアル】【第10章】メールプレビューのテストを作成する

Ruby on Railsチュートリアル(第3版) 今日は「10.1.2 AccountActivationsメイラーメソッド」のメールプレビューのテストを作成するところから。 10.1.2 AccountActivationsメイラーメソッド 最後に、このメールプレビューのテストも作成して、プレビューをダ…

【125日目】【1日20分のRailsチュートリアル】【第10章】アカウント有効化メールのプレビューを確認する

Ruby on Railsチュートリアル(第3版) 今日は「10.1.2 AccountActivationsメイラーメソッド」のUserメイラーのプレビューファイルを更新するところから。 10.1.2 AccountActivationsメイラーメソッド developmentサーバーを再起動してリスト10.14の設定を読み…

【124日目】【1日20分のRailsチュートリアル】【第10章】アカウント有効化メールのビューを作成する

Ruby on Railsチュートリアル(第3版) 今日は「10.1.2 AccountActivationsメイラーメソッド」のメールにアカウント有効化リンクを追加するところから。 10.1.2 AccountActivationsメイラーメソッド ここでは挨拶文にユーザー名を含め、カスタムの有効化リンク…

【123日目】【1日20分のRailsチュートリアル】【第10章】UserMailerを生成してテンプレートをカスタマイズする

Ruby on Railsチュートリアル(第3版) 今日は「10.1.2 AccountActivationsメイラーメソッド」から。 10.1.2 AccountActivationsメイラーメソッド メイラーの構成はコントローラのアクションとよく似ており、メールのテンプレートをビューと同じ要領で定義でき…

【122日目】【1日20分のRailsチュートリアル】【第10章】アカウントの有効化トークンやダイジェストを作成する処理を追加する

Ruby on Railsチュートリアル(第3版) 今日は「10.1.1 AccountActivationsリソース」のアカウントの有効化について考えるところから。 10.1.1 AccountActivationsリソース ユーザーが新しい登録を完了するためには必ずアカウントの有効化が必要になるのですか…

【121日目】【1日20分のRailsチュートリアル】【第10章】アカウント有効化のためにUserモデルに属性を追加する

Ruby on Railsチュートリアル(第3版) 今日は「10.1.1 AccountActivationsリソース」のresources行を追加するところから。 10.1.1 AccountActivationsリソース 有効化メールでは以下の形式のURLを使用します。 edit_account_activation_url(activation_token,…

【120日目】【1日20分のRailsチュートリアル】【第10章】AccountActivationsリソースを生成する

Ruby on Railsチュートリアル(第3版) 今日は「第10章 アカウント有効化とパスワード再設定」から。 今日から10章! 第10章 アカウント有効化とパスワード再設定 アカウントの有効化 (アクティベーション: 新規ユーザーのメールアドレスが有効であることを確…

【119日目】【1日20分のRailsチュートリアル】【第9章】演習の4.

Ruby on Railsチュートリアル(第3版) 今日は「9.6 演習」の4.から。 9.6 演習 4.リスト9.60のパーシャルを使用して、new.html.erbビューとedit.html.erbビューをリファクタリングし、コードの重複を取り除いてください。 このとき、リスト9.61のようにフォ…

【118日目】【1日20分のRailsチュートリアル】【第9章】演習の3.

Ruby on Railsチュートリアル(第3版) 今日は「9.6 演習」の3.から。 9.6 演習 3.Web経由でadmin属性を変更できないことを確認してください。 リスト9.59に示したように、PATCHリクエストを updateメソッドに直接発行するテストを作成してください。 テスト…

【117日目】【1日20分のRailsチュートリアル】【第9章】演習の2.

Ruby on Railsチュートリアル(第3版) 今日は「9.6 演習」の2.から。 9.6 演習 2.レイアウトにあるすべてのリンクに対して統合テストを書いてみましょう。 ログイン済みユーザーとそうでないユーザーのそれぞれに対して、正しい振る舞いを考えてください。 …

【116日目】【1日20分のRailsチュートリアル】【第9章】演習の1.

Ruby on Railsチュートリアル(第3版) 今日は「9.6 演習」から。 9.6 演習 なお、演習とチュートリアル本編の食い違いを避ける方法については、演習用のトピックブランチに追加したメモ (3.6) を参考にしてください。 まず演習用にブランチ分けます。 $ git c…

【115日目】【1日20分のRailsチュートリアル】【第9章】第9章の内容をコミット&本番環境で動かしてみる

Ruby on Railsチュートリアル(第3版) 今日は「9.5 最後に」から。 9.5 最後に メールアドレスを使ってアカウントを有効化する機能と (すなわち本当に有効なメールアドレスか検証するプロセスと)、ユーザーがパスワードを忘れてしまったときのためのパスワー…

【114日目】【1日20分のRailsチュートリアル】【第9章】ユーザー削除のテストを追加する

Ruby on Railsチュートリアル(第3版) 今日は「9.4.3 ユーザー削除のテスト」から。 9.4.3 ユーザー削除のテスト ユーザー削除と同じくらい重要なことは、その振る舞いが期待されたかどうかを確かめる良いテストを書くことです。 そこで、まずはユーザー用fix…

【113日目】【1日20分のRailsチュートリアル】【第9章】destroyアクションを実装する

Ruby on Railsチュートリアル(第3版) 今日は「9.4.2 destroyアクション」から。 9.4.2 destroyアクション Usersリソースの最後の仕上げとして、destroyアクションへのリンクを追加しましょう。 まず各ユーザーにユーザー削除用のリンクを追加。 app/views/us…

【112日目】【1日20分のRailsチュートリアル】【第9章】Strong Parametersでadmin属性の変更をガードする

Ruby on Railsチュートリアル(第3版) 今日は「9.4.1 管理ユーザー」の「Strong Parameters、再び」から。 9.4.1 管理ユーザー Strong Parameters、再び 任意のWebリクエストの初期化ハッシュをオブジェクトに渡せるとなると、攻撃者は以下のようなPATCHリク…

【111日目】【1日20分のRailsチュートリアル】【第9章】管理ユーザーを識別するadmin属性を追加する

Ruby on Railsチュートリアル(第3版) 今日は「9.4 ユーザーを削除する」から。 9.4 ユーザーを削除する 削除を行うのに必要なdestroyアクションも実装します。しかしその前に、削除を実行できる権限を持つ管理 (admin) ユーザーのクラスを作成しましょう。 i…

【110日目】【1日20分のRailsチュートリアル】【第9章】パーシャルのリファクタリングを行う

Ruby on Railsチュートリアル(第3版) 今日は「9.3.5 パーシャルのリファクタリング」から。 9.3.5 パーシャルのリファクタリング 実はRailsにはコンパクトなビューを作成するための素晴らしいツールがいくつもあります。 この節ではそれらのツールを使用して…

【109日目】【1日20分のRailsチュートリアル】【第9章】ユーザーインデックスのテストを追加する

Ruby on Railsチュートリアル(第3版) 今日は「9.3.4 ユーザーインデックスのテスト」から。 9.3.4 ユーザーインデックスのテスト 今回のテストでは、ログイン、indexページにアクセス、最初のページにユーザーがいることを確認、ページネーションのリンクが…

【108日目】【1日20分のRailsチュートリアル】【第9章】indexページでページネーションを動作させる

Ruby on Railsチュートリアル(第3版) 今日は「9.3.3 ページネーション」から。 9.3.3 ページネーション これで、最初のユーザーにも仲間ができました。しかし今度は逆に、1つのページに大量のユーザーが表示されてしまっています。 (中略) これを解決する…

【107日目】【1日20分のRailsチュートリアル】【第9章】サンプルユーザーを一気に追加する

Ruby on Railsチュートリアル(第3版) 今日は「9.3.2 サンプルのユーザー」から。 9.3.2 サンプルのユーザー この節では、一人ぼっちのユーザーに仲間を加えてあげることにします。 (中略) せっかくなのでRubyとRakeを使用してユーザーを一気に作成しましょ…

【106日目】【1日20分のRailsチュートリアル】【第9章】すべてのユーザーを表示するビューを作成する

Ruby on Railsチュートリアル(第3版) 今日は「9.3.1 ユーザーインデックス」のindexビューを追加するところから。 9.3.1 ユーザーインデックス 今度はすべてのユーザーを表示するために、全ユーザーが格納された変数を作成し、順々に表示するindexビューを実…

【105日目】【1日20分のRailsチュートリアル】【第9章】すべてのユーザーを表示する

Ruby on Railsチュートリアル(第3版) 今日は「9.3 すべてのユーザーを表示する」から。 9.3 すべてのユーザーを表示する この節では、いよいよ最後から2番目のユーザーアクションであるindexアクションを追加しましょう。このアクションは、すべてのユーザー…

【104日目】【1日20分のRailsチュートリアル】【第9章】フレンドリーフォワーディング機能を実装する

Ruby on Railsチュートリアル(第3版) 今日は「9.2.3 フレンドリーフォワーディング」の実装するところから。 9.2.3 フレンドリーフォワーディング 失敗するテストが書けたので、ようやくフレンドリーフォワーディングを実装する準備ができました。 ユーザー…

【103日目】【1日20分のRailsチュートリアル】【第9章】ユーザーフレンドリーな機能のテストを追加する

Ruby on Railsチュートリアル(第3版) 今日は「9.2.2 正しいユーザーを要求する」のリファクタリングから。 9.2.2 正しいユーザーを要求する 最後に、リファクタリングではありますが、一般的な慣習に倣ってcurrent_user?という論理値を返すメソッドを実装し…

【102日目】【1日20分のRailsチュートリアル】【第9章】ユーザーが自分の情報だけを編集できるように実装を追加する

Ruby on Railsチュートリアル(第3版) 今日は「9.2.2 正しいユーザーを要求する」から。 9.2.2 正しいユーザーを要求する 当然のことですが、ログインを要求するだけでは十分ではありません。ユーザーが自分の情報だけを編集できるようにする必要があります。…

【101日目】【1日20分のRailsチュートリアル】【第9章】ユーザーにログインを要求する処理のテストを作成する

Ruby on Railsチュートリアル(第3版) 今日は「9.2.1 ユーザーにログインを要求する」のテストを修正するところから。 9.2.1 ユーザーにログインを要求する 原因は、editアクションやupdateアクションでログインを要求するようになったため、ログインしていな…

【100日目】【1日20分のRailsチュートリアル】【第9章】ユーザーにログインを要求する処理を追加

遂に100日目! Ruby on Railsチュートリアル(第3版) 今日は「9.2 認可」から。 9.2 認可 9.1のeditアクションとupdateアクションはすでに完全に動作していますが、セキュリティ上の大穴が1つ空いています。 どのユーザーでもあらゆるアクションにアクセスで…