ぞえの技術めも

Ruby on Rails勉強中

【187日目】【1日20分のRailsチュートリアル】学習を終えて

「Ruby on Railsチュートリアル(第3版)」の学習も先日ようやく最後まで辿り着きました。 学習を開始したのは2016年07月07日のことなので、期間としては約1年3ヶ月かかったことになります。 日数としては記事タイトル通り「186日」ですね。毎日すれば半年とち…

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

Ruby on Railsチュートリアル(第3版) 今日は「12.5 演習」の2.から。 12.5 演習 2.Homeページに表示されている1ページ目のフィードをテストしてください。リスト12.49はそのテンプレートです。 CGI.escapeHTMLでHTMLのエスケープ処理を使っている点に注目し…

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

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

【184日目】【1日20分のRailsチュートリアル】【第12章】第12章のまとめ

Ruby on Railsチュートリアル(第3版) 今日は「12.4 最後に」から。 12.4 最後に ステータスフィードが追加され、Ruby on Railsチュートリアルのサンプルアプリケーションがとうとう完成しました。このサンプルアプリケーションには、Railsの主要な機能 (モデ…

【183日目】【1日20分のRailsチュートリアル】【第12章】Homeページの表示を確認してGitにpushする

Ruby on Railsチュートリアル(第3版) 今日は「12.3.3 サブセレクト」のHomeページを確認するところから。 12.3.3 サブセレクト 思い出すキッカケとして、homeアクションはリスト12.48に再掲します。第11章ではただのプロトタイプでしたが (図11.14)、リスト1…

【182日目】【1日20分のRailsチュートリアル】【第12章】SQLサブセレクトを使用する

Ruby on Railsチュートリアル(第3版) 今日は「12.3.3 サブセレクト」から。 12.3.3 サブセレクト 前節のヒントでおわかりのように、12.3.2のフィードの実装は、投稿されたマイクロポストの数が膨大になったときにうまくスケールアップできません。フォローし…

【181日目】【1日20分のRailsチュートリアル】【第12章】フィードを初めて実装する

Ruby on Railsチュートリアル(第3版) 今日は「12.3.2 フィードを初めて実装する」から。 12.3.2 フィードを初めて実装する 最初に、このフィードで必要なクエリについて考えましょう。ここで必要なのは、micropostsテーブルから、あるユーザー (つまり自分自…

【180日目】【1日20分のRailsチュートリアル】【第12章】ステータスフィードのテストを作成する

Ruby on Railsチュートリアル(第3版) 今日は「12.3 ステータスフィード」から。 12.3 ステータスフィード ついに、サンプルアプリケーションの山頂が目の前に現れました。最後の難関、ステータスフィードの実装に取りかかりましょう。 (中略) これ実現する…

【179日目】【1日20分のRailsチュートリアル】【第12章】フォロー/フォロー解除をテストする

Ruby on Railsチュートリアル(第3版) 今日は「12.2.6 フォローをテストする」から。 12.2.6 フォローをテストする ユーザーのフォローに対するテストでは、 /relationshipsに対してPOSTリクエストを送り、フォローされたユーザーが1人増えたことをチェックし…

【178日目】【1日20分のRailsチュートリアル】【第12章】JavaScriptでフォロー/フォロー解除ボタンを更新する

Ruby on Railsチュートリアル(第3版) 今日は「12.2.5 [フォローする] ボタン (Ajax)」のJavaScriptが無効になっていた場合の対応を実装するところから。 12.2.5 [フォローする] ボタン (Ajax) リスト12.35でAjaxリクエストに対応したので、今度はブラウザ側…

【178日目】【1日20分のRailsチュートリアル】【第12章】Ajaxを使ったフォローボタンを考える

Ruby on Railsチュートリアル(第3版) 今日は「12.2.5 [フォローする] ボタン (Ajax)」から。 12.2.5 [フォローする] ボタン (Ajax) ユーザーをフォローした後、本当にそのページから離れて元のページに戻らないといけないのでしょうか。この点を考えなおして…

【177日目】【1日20分のRailsチュートリアル】【第12章】フォローボタン押下時の処理を実装する

Ruby on Railsチュートリアル(第3版) 今日は「12.2.4 [フォローする] ボタン (標準的な方法)」から。 12.2.4 [フォローする] ボタン (標準的な方法) フォローとフォロー解除はそれぞれリレーションシップの作成と削除に対応しているため、まずはRelationship…

【176日目】【1日20分のRailsチュートリアル】【第12章】フォローしているユーザー/フォロワーページの統合テストを作成する

Ruby on Railsチュートリアル(第3版) 今日は「12.2.3「フォローしているユーザー」ページと「フォロワー」ページ」の統合テストを書くところから。 12.2.3「フォローしているユーザー」ページと「フォロワー」ページ フォロー一覧もフォロワー一覧も動くよう…

【175日目】【1日20分のRailsチュートリアル】【第12章】フォローしているユーザー/フォロワーページを作成する

Ruby on Railsチュートリアル(第3版) 今日は「12.2.3「フォローしているユーザー」ページと「フォロワー」ページ」から。 12.2.3「フォローしているユーザー」ページと「フォロワー」ページ フォローしているユーザーを表示するページと、フォロワーを表示す…

【174日目】【1日20分のRailsチュートリアル】【第12章】フォロー/フォロー解除ボタンを作成する

Ruby on Railsチュートリアル(第3版) 今日は「12.2.2 統計とフォロー用フォーム」のフォロー/フォロー解除ボタン用のパーシャルを作成するところから。 12.2.2 統計とフォロー用フォーム プロファイルにも統計情報パーシャルを表示しますが、今のうちにリス…

【173日目】【1日20分のRailsチュートリアル】【第12章】フォローしているユーザーとフォロワーの数を表示する

Ruby on Railsチュートリアル(第3版) 今日は「12.2.2 統計とフォロー用フォーム」から。 12.2.2 統計とフォロー用フォーム 最初に、プロファイルページとHomeページに、フォローしているユーザーとフォロワーの統計情報を表示するためのパーシャルを作成しま…

【172日目】【1日20分のRailsチュートリアル】【第12章】Relationshipのサンプルデータを生成する

Ruby on Railsチュートリアル(第3版) 今日は「12.2 フォローしているユーザー用のWebインターフェイス」から。 12.2 フォローしているユーザー用のWebインターフェイス この節では、モックアップで示したようにフォロー/フォロー解除の基本的なインターフェ…

【171日目】【1日20分のRailsチュートリアル】【第12章】フォロワーの関連付けを追加する

Ruby on Railsチュートリアル(第3版) 今日は「12.1.5 フォロワー」から。 12.1.5 フォロワー リレーションシップというパズルの最後の一片は、user.followersメソッドを追加することです。これは上のuser.followingメソッドと対になります。 (中略) したが…

【170日目】【1日20分のRailsチュートリアル】【第12章】フォローしているユーザーの関連付けを追加する

Ruby on Railsチュートリアル(第3版) 今日は「12.1.4 フォローしているユーザー」から。 12.1.4 フォローしているユーザー Railsは“followeds”というシンボル名を見て、これを“followed”という単数形に変え、 relationshipsテーブルのfollowed_idを使って対…

【169日目】【1日20分のRailsチュートリアル】【第12章】Relationshipモデルのバリデーションを追加する

Ruby on Railsチュートリアル(第3版) 今日は「12.1.3 Relationshipのバリデーション」から。 12.1.3 Relationshipのバリデーション 先に進む前に、Relationshipモデルの検証を追加して完全なものにしておきましょう。 Relationshipモデルのバリデーションの…

【168日目】【1日20分のRailsチュートリアル】【第12章】UserモデルとRelationshipモデルの関連付け

Ruby on Railsチュートリアル(第3版) 今日は「12.1.2 User/Relationshipの関連付け」から。 12.1.2 User/Relationshipの関連付け フォローしているユーザーとフォロワーを実装する前に、UserとRelationshipの関連付けを行います。 1人のユーザーにはhas_many…

【167日目】【1日20分のRailsチュートリアル】【第12章】relationshipsテーブルを作成する

Ruby on Railsチュートリアル(第3版) 今日は「12.1.1 データモデルの問題 (および解決策)」から。 12.1.1 データモデルの問題 (および解決策) ユーザーをフォローするデータモデル構成のための第一歩として、典型的な場合を検討してみましょう。 まず名前付…

【167日目】【1日20分のRailsチュートリアル】【第12章】第12章向けのブランチを作成する

Ruby on Railsチュートリアル(第3版) 今日は「第12章 ユーザーをフォローする」から。 第12章 ユーザーをフォローする この章では、他のユーザーをフォロー (およびフォロー解除) できるソーシャルレイヤーを追加し、各ユーザーのHomeページに、現在フォロー…

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

Ruby on Railsチュートリアル(第3版) 今日は「11.6 演習」の3.から。 11.6 演習 3.リスト11.69に示すテンプレートを参考に、11.4で実装した画像アップローダーをテストしてください。テストの準備として、まずはサンプル画像をfixtureディレクトリに追加し…

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

Ruby on Railsチュートリアル(第3版) 今日は「11.6 演習」の2.から。 11.6 演習 2.サイドバーにあるマイクロポストの合計投稿数をテストしてください。このとき、単数形 (micropost) と複数形 (microposts) が正しく表示されているかどうかもテストしてく…

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

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

【163日目】【1日20分のRailsチュートリアル】【第11章】第11章のまとめ

Ruby on Railsチュートリアル(第3版) 今日は「11.5 最後に」から。 11.5 最後に Micropostsリソースの追加によって、サンプルアプリケーションはほぼ完成に近づきました。残すところは、ユーザーをお互いにフォローするソーシャルな仕組みのみとなります。 …

【162日目】【1日20分のRailsチュートリアル】【第11章】アップロード時に画像のリサイズを実施する

Ruby on Railsチュートリアル(第3版) 今日は「11.4.3 画像のリサイズ」から。 11.4.3 画像のリサイズ ファイルサイズに対するバリデーション (11.4.2) はうまくいきましたが、画像サイズ (縦横の長さ) に対する制限はないので、大きすぎる画像サイズがアップ…

【161日目】【1日20分のRailsチュートリアル】【第11章】画像のバリデーションをビューに組み込む

Ruby on Railsチュートリアル(第3版) 今日は「11.4.2 画像の検証」の画像のバリデーションをビューに組み込むところから。 11.4.2 画像の検証 リスト11.60やリスト11.61で定義した画像のバリデーションをビューに組み込むために、クライアント側に2つの処理…

【160日目】【1日20分のRailsチュートリアル】【第11章】画像のバリデーションを定義する

Ruby on Railsチュートリアル(第3版) 今日は「11.4.2 画像の検証」から。 11.4.2 画像の検証 11.4.1のアップローダーも悪くはありませんが、いくつかの目立つ欠点があります。 例えば、アップロードされた画像に対する制限がないため、もしユーザーが巨大な…