見出し画像

Rails-投稿にユーザー名を入れる

投稿一覧ページにユーザ名を表示させたい!ついでにユーザー詳細ページに飛ばせるようにしたい!

※ 先に投稿機能を入れてる方向けです。まだの方はこちら!

投稿のマイグレーションファイルに追加

app / db / maigrate / 投稿のマイグレーションファイル

class CreateTweets < ActiveRecord::Migration[7.0]
  def change
    create_table :tweets do |t|
      t.integer :user_id #追加
      t.string :title
      t.text :content

      t.timestamps
    end
  end
end

ユーザーと投稿の関連付け

app / models / user.rb

has_many :tweets

app / models /tweet.rb

belongs_to :user #追加

#もしもエラーが発生した場合こちら
belongs_to :user, optional: true

app/views/outputs/_tweet.html.erb

<%= link_to tweet.user.username, "/users/#{tweet.user_id}" %> #追加したいところに

おまけ : 投稿のユーザー名をリンクで繋がなくていい方はこちら ↓

<%= tweet.user.username %>


例: 一番上のmodeがユーザ名です。

参考サイト: