ユーザー登録時に初期画像を設定する

初めに

  • Progateを学習して躓いたところをアウトプットすることで学習効率を上げるとともに備忘録がてらに日記を書いていきます。

結論

  • ユーザー情報を入力する空箱の中に初期画像の情報を入れておく

前提

  • usersテーブルにimage_nameカラムを追加しておく

 ターミナルにてrails g migration users image_name stringを行う  生成したマイグレーションファイルにadd_column :テーブル名, :カラム名, :データ型でchangメソッドの中に記載を行う  *rails db:migrateを行う

ユーザー登録する際に初期の画像を設定するために

  • public/user_imagesに初期画像のdefault_user.jpgを用意する

  • ユーザー登録時にimage_nameカラムの値がdefalt_user.jpgになるようにする

def create
    @user = User.new(
      name: params[:name],
      email: params[:email],
      image_name: "default_user.jpg"
    )
    if @user.save
      flash[:notice] = "ユーザー登録が完了しました"
      redirect_to("/users/#{@user.id}")
    else
      render("users/new")
    end
  end

結語

  • User.newという空箱の中に image_nameカラムを入れ、その値にすでに決まっているdefault_user.jpgを入れることでデフォルトで画像が挿入できる