質問: rails4で開発中。 現在練習でツイッターのような投稿サイトを作成しています。 そこで各ユーザー毎のマイページで、自分の投稿だけを取得して表示させたいのですが、その表示方法が分かりません。 コントローラーへの定義方法。 Viewでの取得した投稿の表示方法。 どのように記述すればよいのでしょうか? 作成方針やアドバイスなどでも構いませんのでご教授いただけると助かります。
回答: まず、ユーザーとTweetはひもづいていますか? has_many、belongs_to とか書いたりするやつです。 それができているなら User.where(id: ”該当のユーザーid”).tweets みたいな感じで書けば取得できると思います 質問者さんのモデルの作り方が分からないのでUserっていうモデル名なのかuser_idっていうのがあるのか、 tweetっていうモデル名なのかもわからないので、そこは自分のをみて変えてください コントローラーのマイページがshowで作られている場合、↓みたいな感じでかけばユーザーが取れる ``` #コントローラー def show #paramsで渡ってきたuserのidを使ってユーザーを見つけて@userに入れる @user = User.find(params[:id]) end ``` ``` -# ビュー -# 下記二行のうちどちらでもとれると思います。 = @user.tweets← こっちのほうが綺麗 = Tweet.where(user_id: @user.id).all ```