「Ruby on Railsチュートリアル(第3版)」の学習も先日ようやく最後まで辿り着きました。 学習を開始したのは2016年07月07日のことなので、期間としては約1年3ヶ月かかったことになります。 日数としては記事タイトル通り「186日」ですね。毎日すれば半年とち…
Ruby on Railsチュートリアル(第3版) 今日は「12.5 演習」の2.から。 12.5 演習 2.Homeページに表示されている1ページ目のフィードをテストしてください。リスト12.49はそのテンプレートです。 CGI.escapeHTMLでHTMLのエスケープ処理を使っている点に注目し…
Ruby on Railsチュートリアル(第3版) 今日は「12.5 演習」から。 12.5 演習 なお、演習とチュートリアル本編の食い違いを避ける方法については、演習用のトピックブランチに追加したメモ (3.6) を参考にしてください。 いつものように演習用のブランチ作りま…
Ruby on Railsチュートリアル(第3版) 今日は「12.4 最後に」から。 12.4 最後に ステータスフィードが追加され、Ruby on Railsチュートリアルのサンプルアプリケーションがとうとう完成しました。このサンプルアプリケーションには、Railsの主要な機能 (モデ…
Ruby on Railsチュートリアル(第3版) 今日は「12.3.3 サブセレクト」のHomeページを確認するところから。 12.3.3 サブセレクト 思い出すキッカケとして、homeアクションはリスト12.48に再掲します。第11章ではただのプロトタイプでしたが (図11.14)、リスト1…
Ruby on Railsチュートリアル(第3版) 今日は「12.3.3 サブセレクト」から。 12.3.3 サブセレクト 前節のヒントでおわかりのように、12.3.2のフィードの実装は、投稿されたマイクロポストの数が膨大になったときにうまくスケールアップできません。フォローし…
Ruby on Railsチュートリアル(第3版) 今日は「12.3.2 フィードを初めて実装する」から。 12.3.2 フィードを初めて実装する 最初に、このフィードで必要なクエリについて考えましょう。ここで必要なのは、micropostsテーブルから、あるユーザー (つまり自分自…
Ruby on Railsチュートリアル(第3版) 今日は「12.3 ステータスフィード」から。 12.3 ステータスフィード ついに、サンプルアプリケーションの山頂が目の前に現れました。最後の難関、ステータスフィードの実装に取りかかりましょう。 (中略) これ実現する…
Ruby on Railsチュートリアル(第3版) 今日は「12.2.6 フォローをテストする」から。 12.2.6 フォローをテストする ユーザーのフォローに対するテストでは、 /relationshipsに対してPOSTリクエストを送り、フォローされたユーザーが1人増えたことをチェックし…
Ruby on Railsチュートリアル(第3版) 今日は「12.2.5 [フォローする] ボタン (Ajax)」のJavaScriptが無効になっていた場合の対応を実装するところから。 12.2.5 [フォローする] ボタン (Ajax) リスト12.35でAjaxリクエストに対応したので、今度はブラウザ側…
Ruby on Railsチュートリアル(第3版) 今日は「12.2.5 [フォローする] ボタン (Ajax)」から。 12.2.5 [フォローする] ボタン (Ajax) ユーザーをフォローした後、本当にそのページから離れて元のページに戻らないといけないのでしょうか。この点を考えなおして…
Ruby on Railsチュートリアル(第3版) 今日は「12.2.4 [フォローする] ボタン (標準的な方法)」から。 12.2.4 [フォローする] ボタン (標準的な方法) フォローとフォロー解除はそれぞれリレーションシップの作成と削除に対応しているため、まずはRelationship…
Ruby on Railsチュートリアル(第3版) 今日は「12.2.3「フォローしているユーザー」ページと「フォロワー」ページ」の統合テストを書くところから。 12.2.3「フォローしているユーザー」ページと「フォロワー」ページ フォロー一覧もフォロワー一覧も動くよう…
Ruby on Railsチュートリアル(第3版) 今日は「12.2.3「フォローしているユーザー」ページと「フォロワー」ページ」から。 12.2.3「フォローしているユーザー」ページと「フォロワー」ページ フォローしているユーザーを表示するページと、フォロワーを表示す…
Ruby on Railsチュートリアル(第3版) 今日は「12.2.2 統計とフォロー用フォーム」のフォロー/フォロー解除ボタン用のパーシャルを作成するところから。 12.2.2 統計とフォロー用フォーム プロファイルにも統計情報パーシャルを表示しますが、今のうちにリス…
Ruby on Railsチュートリアル(第3版) 今日は「12.2.2 統計とフォロー用フォーム」から。 12.2.2 統計とフォロー用フォーム 最初に、プロファイルページとHomeページに、フォローしているユーザーとフォロワーの統計情報を表示するためのパーシャルを作成しま…
Ruby on Railsチュートリアル(第3版) 今日は「12.2 フォローしているユーザー用のWebインターフェイス」から。 12.2 フォローしているユーザー用のWebインターフェイス この節では、モックアップで示したようにフォロー/フォロー解除の基本的なインターフェ…
Ruby on Railsチュートリアル(第3版) 今日は「12.1.5 フォロワー」から。 12.1.5 フォロワー リレーションシップというパズルの最後の一片は、user.followersメソッドを追加することです。これは上のuser.followingメソッドと対になります。 (中略) したが…
Ruby on Railsチュートリアル(第3版) 今日は「12.1.4 フォローしているユーザー」から。 12.1.4 フォローしているユーザー Railsは“followeds”というシンボル名を見て、これを“followed”という単数形に変え、 relationshipsテーブルのfollowed_idを使って対…
Ruby on Railsチュートリアル(第3版) 今日は「12.1.3 Relationshipのバリデーション」から。 12.1.3 Relationshipのバリデーション 先に進む前に、Relationshipモデルの検証を追加して完全なものにしておきましょう。 Relationshipモデルのバリデーションの…
Ruby on Railsチュートリアル(第3版) 今日は「12.1.2 User/Relationshipの関連付け」から。 12.1.2 User/Relationshipの関連付け フォローしているユーザーとフォロワーを実装する前に、UserとRelationshipの関連付けを行います。 1人のユーザーにはhas_many…
Ruby on Railsチュートリアル(第3版) 今日は「12.1.1 データモデルの問題 (および解決策)」から。 12.1.1 データモデルの問題 (および解決策) ユーザーをフォローするデータモデル構成のための第一歩として、典型的な場合を検討してみましょう。 まず名前付…
Ruby on Railsチュートリアル(第3版) 今日は「第12章 ユーザーをフォローする」から。 第12章 ユーザーをフォローする この章では、他のユーザーをフォロー (およびフォロー解除) できるソーシャルレイヤーを追加し、各ユーザーのHomeページに、現在フォロー…
Ruby on Railsチュートリアル(第3版) 今日は「11.6 演習」の3.から。 11.6 演習 3.リスト11.69に示すテンプレートを参考に、11.4で実装した画像アップローダーをテストしてください。テストの準備として、まずはサンプル画像をfixtureディレクトリに追加し…
Ruby on Railsチュートリアル(第3版) 今日は「11.6 演習」の2.から。 11.6 演習 2.サイドバーにあるマイクロポストの合計投稿数をテストしてください。このとき、単数形 (micropost) と複数形 (microposts) が正しく表示されているかどうかもテストしてく…
Ruby on Railsチュートリアル(第3版) 今日は「11.6 演習」から。 11.6 演習 なお、演習とチュートリアル本編の食い違いを避ける方法については、演習用のトピックブランチに追加したメモ (3.6) を参考にしてください。 演習用にブランチ切っておきましょう。…
Ruby on Railsチュートリアル(第3版) 今日は「11.5 最後に」から。 11.5 最後に Micropostsリソースの追加によって、サンプルアプリケーションはほぼ完成に近づきました。残すところは、ユーザーをお互いにフォローするソーシャルな仕組みのみとなります。 …
Ruby on Railsチュートリアル(第3版) 今日は「11.4.3 画像のリサイズ」から。 11.4.3 画像のリサイズ ファイルサイズに対するバリデーション (11.4.2) はうまくいきましたが、画像サイズ (縦横の長さ) に対する制限はないので、大きすぎる画像サイズがアップ…
Ruby on Railsチュートリアル(第3版) 今日は「11.4.2 画像の検証」の画像のバリデーションをビューに組み込むところから。 11.4.2 画像の検証 リスト11.60やリスト11.61で定義した画像のバリデーションをビューに組み込むために、クライアント側に2つの処理…
Ruby on Railsチュートリアル(第3版) 今日は「11.4.2 画像の検証」から。 11.4.2 画像の検証 11.4.1のアップローダーも悪くはありませんが、いくつかの目立つ欠点があります。 例えば、アップロードされた画像に対する制限がないため、もしユーザーが巨大な…