確認したいこと
Railsチュートリアル13章の以下の部分で詰まっています。
response.body
は何を見ているのでしょうか?
rails6
1 test "profile display" do 2 get user_path(@user) 3 assert_template 'users/show' 4 assert_match @user.microposts.count.to_s, response.body 5 end
チュートリアルの説明文には以下のようにあります。
response.bodyにはそのページの完全なHTMLが含まれています(HTMLのbodyタグだけではありません)。したがって、そのページのどこかしらにマイクロポストの投稿数が存在するのであれば、次のように探し出してマッチできるはずです。
HTMLを見ると1投稿は以下のように構成されています。
HTML
1 <li id="micropost-295"> 2 <a href="/users/1"><img alt="Example User" class="gravatar" src="https://secure.gravatar.com/avatar/bebfcf57d6d8277d806a9ef3385c078d?s=50" /></a> 3 <span class="user"><a href="/users/1">Example User</a></span> 4 <span class="content">Ipsam quidem dolor omnis sunt.</span> 5 <span class="timestamp"> 6 Posted 1 day ago. 7 </span>
railsでは以下の通りです。
rails6
1<li id="micropost-<%= micropost.id %>"> 2 <%= link_to gravatar_for(micropost.user, size: 50), micropost.user %> 3 <span class="user"><%= link_to micropost.user.name, micropost.user %></span> 4 <span class="content"><%= micropost.content %></span> 5 <span class="timestamp"> 6 Posted <%= time_ago_in_words(micropost.created_at) %> ago. 7 </span> 8</li>
micropostsテーブルは以下の構成になっており、bodyの定義はありません。
rails6
1 create_table "microposts", force: :cascade do |t| 2 t.text "content" 3 t.integer "user_id", null: false 4 t.datetime "created_at", precision: 6, null: false 5 t.datetime "updated_at", precision: 6, null: false 6 t.index ["user_id", "created_at"], name: "index_microposts_on_user_id_and_created_at" 7 t.index ["user_id"], name: "index_microposts_on_user_id" 8 end
お手数をおかけしますが、response.body
が何を見ているのか教えていただけないでしょうか。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/21 02:40
2021/10/21 03:12
2021/10/21 03:58 編集
2021/10/22 01:36