Railsチュートリアル第2章の演習でユーザーの最初のマイクロポストを表示してみると、想定とは違った。
やったこと① @user.micropostsを追加した
まず、show.html.erbに以下を追加した。
<p>
<strong>First Post:</strong>
<%= @user.microposts %>
</p>
するとエラーは発生しないものの、
First Post: #Micropost::ActiveRecord_Associations_CollectionProxy:0x00007efe7ad4d670
が表示された。
やったこと② @user.microposts.firstを追加した
これではマイクロポストをすべて表示しようとしてしまうのだろうと思い、以下に変更
<p>
<strong>First Post:</strong>
<%= @user.microposts.first %>
</p>
すると、
First Post: #Micropost:0x00007efe7ae95e88
となった。
やったこと③ @user.microposts.first.contentを追加した
②で合っているのでは…?と思っていたので、正解/不正解の判断が付かず、検索するといくつも解答例の記事が存在した。
https://kojimanotech.com/2018/06/17/63/ を参考に以下に修正。
<p>
<strong>First Post:</strong>
<%= @user.microposts.first.content %>
</p>
画面を開くと、想定したマイクロポストが表示された。
First Post: First micropost!
②の状態では最初のマイクロポストのidやuser_idも含まれるということか。
#まとめ
やったこと①②③の流れで解決できた。