0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【第2章】Railsチュートリアルでユーザーの最初のマイクロポストが表示できない時にやったこと

Posted at
1 / 2

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も含まれるということか。

#まとめ
やったこと①②③の流れで解決できた。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?